From 0787af8d5a1a75e25f73cc632c4c7ebdd212ad02 Mon Sep 17 00:00:00 2001 From: Martin Basti Date: Jun 21 2016 10:48:17 +0000 Subject: Updated IPA translations Reviewed-By: Martin Babinsky --- diff --git a/install/po/LINGUAS b/install/po/LINGUAS index 375492c..5f8fc63 100644 --- a/install/po/LINGUAS +++ b/install/po/LINGUAS @@ -1,7 +1,7 @@ bn_IN # Bengali (India) -de # German ca # Catalan cs # Czech +de # German es # Spanish eu # Basque fr # French @@ -10,9 +10,12 @@ hu # Hungarian id # Indonesian ja # Japanese kn # Kannada +mr # Marathi nl # Dutch pl # Polish +pt_BR # Portuguese (Brazil) ru # Russian +sk # Slovak tg # Tajik uk # Ukrainian zh_CN # Chinese (China) diff --git a/install/po/bn_IN.po b/install/po/bn_IN.po index cfefc08..b7469c8 100644 --- a/install/po/bn_IN.po +++ b/install/po/bn_IN.po @@ -8,19 +8,18 @@ msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\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" +"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.7.3\n" +"X-Generator: Zanata 3.8.4\n" msgid "Passwords do not match" msgstr "পাসওয়ার্ড দুটি মিলছে না" diff --git a/install/po/ca.po b/install/po/ca.po index 580a7bb..47aec4a 100644 --- a/install/po/ca.po +++ b/install/po/ca.po @@ -7,19 +7,27 @@ msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\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.7.3\n" +"X-Generator: Zanata 3.8.4\n" + +msgid "Password" +msgstr "Contrasenya" + +msgid "Invalid credentials" +msgstr "Credencials no vàlides" + +msgid "Data" +msgstr "Dades" msgid "Passwords do not match" msgstr "Les contrasenyes no coincideixen" @@ -66,9 +74,6 @@ msgstr "descripció" msgid "Mount point" msgstr "Punt de muntatge" -msgid "Password" -msgstr "Contrasenya" - msgid "entry" msgstr "entrada" @@ -162,18 +167,15 @@ msgstr "No després" msgid "Serial number" msgstr "Número de sèrie" +msgid "Status" +msgstr "Estat" + msgid "Revoked" msgstr "Revocat" -msgid "Reason" -msgstr "Raó" - msgid "Error" msgstr "Error" -msgid "Status" -msgstr "Estat" - msgid "Configuration" msgstr "Configuració" @@ -366,6 +368,9 @@ msgstr "Exclusiu" msgid "Expression" msgstr "Expressió" +msgid "Anyone" +msgstr "Qualsevol" + msgid "Affiliation Changed" msgstr "L'afiliació ha canviat" @@ -429,9 +434,6 @@ msgstr "Validesa" msgid "Options" msgstr "Opcions" -msgid "Data" -msgstr "Dades" - msgid "Record Type" msgstr "Tipus de registre" @@ -441,9 +443,6 @@ msgstr "Extern" msgid "Normal" msgstr "Normal" -msgid "Anyone" -msgstr "Qualsevol" - msgid "Who" msgstr "Qui" @@ -534,9 +533,6 @@ msgstr "Continua" msgid "Netgroup name" msgstr "Nom de grup de xarxa" -msgid "Invalid credentials" -msgstr "Credencials no vàlides" - msgid "permissions" msgstr "permisos" @@ -578,3 +574,6 @@ msgstr "Sortida de depuració" msgid "Out of memory\n" msgstr "Sense memòria\n" + +#~ msgid "Reason" +#~ msgstr "Raó" diff --git a/install/po/cs.po b/install/po/cs.po index fe781c6..a0ad6c1 100644 --- a/install/po/cs.po +++ b/install/po/cs.po @@ -4,23 +4,22 @@ # # Translators: # Petr Viktorin , 2013 -# Josef Hruška , 2015. #zanata +# Josef Hruška , 2015. #zanata msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\n" "PO-Revision-Date: 2015-06-29 01:17-0400\n" -"Last-Translator: Josef Hruška \n" +"Last-Translator: Josef Hruška \n" "Language-Team: Czech (http://www.transifex.com/projects/p/freeipa/language/" "cs/)\n" "Language: cs\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>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Zanata 3.7.3\n" +"X-Generator: Zanata 3.8.4\n" #, python-format msgid "Enter %(label)s again to verify: " diff --git a/install/po/de.po b/install/po/de.po index 35d2093..3690d0d 100644 --- a/install/po/de.po +++ b/install/po/de.po @@ -9,22 +9,136 @@ # David Kreitschmann , 2015. #zanata # Martin Kosek , 2015. #zanata # Tomas Babej , 2015. #zanata +# Martin Bašti , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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-10-08 04:15-0400\n" -"Last-Translator: David Kreitschmann \n" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\n" +"PO-Revision-Date: 2016-06-17 07:17-0400\n" +"Last-Translator: Martin Bašti \n" "Language-Team: German (http://www.transifex.com/projects/p/freeipa/language/" "de/)\n" "Language: de\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.7.3\n" +"X-Generator: Zanata 3.8.4\n" + +msgid "Failed to add" +msgstr "Hinzufügen fehlgeschlagen" + +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" + +msgid "No option to modify specific record provided." +msgstr "Keine Option zum Ändern des spezifischen Datensatzes angegeben." + +msgid "Current DNS record contents:\n" +msgstr "Derzeitiger Inhalt des DNS-Datensatzes:\n" + +#, python-format +msgid "Modify %(name)s '%(value)s'?" +msgstr "Wert von %(name)s auf »%(value)s« ändern?" + +msgid "No option to delete specific record provided." +msgstr "Keine Option zum Löschen des spezifischen Datensatzes angegeben." + +msgid "Delete all?" +msgstr "Alles löschen?" + +#, python-format +msgid "Delete %(name)s '%(value)s'?" +msgstr "Wert von %(name)s auf »%(value)s« löschen?" + +msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." +msgstr "" +"Der Migrationsmodus ist deaktiviert. Rufen Sie »ipa config-mod« auf, um ihn " +"zu aktivieren." + +msgid "Synchronize an OTP token." +msgstr "OTP Token synchronisieren." + +msgid "User ID" +msgstr "Benutzer-ID" + +msgid "Password" +msgstr "Passwort" + +msgid "First Code" +msgstr "Erster Code" + +msgid "Second Code" +msgstr "Zweiter Code" + +msgid "Token ID" +msgstr "Token ID" + +msgid "" +"\n" +"YubiKey Tokens\n" +msgstr "" +"\n" +"YubiKey Tokens\n" + +msgid "" +"\n" +"Manage YubiKey tokens.\n" +msgstr "" +"\n" +"YubiKey Tokens verwalten.\n" + +#, python-format +msgid "Enabled Sudo Rule \"%s\"" +msgstr "Sudo-Regel »%s« wurde aktiviert." + +#, python-format +msgid "Disabled Sudo Rule \"%s\"" +msgstr "Sudo-Regel »%s« wurde deaktiviert." + +msgid "Delete a user, keeping the entry available for future use" +msgstr "Einen Benutzer löschen, Eintrag für zukünfigte Verwendung aufbewahren" + +msgid "Delete a user" +msgstr "Einen Benutzer löschen" + +msgid "preserve and no-preserve cannot be both set" +msgstr "preserve und no-preserve kann nicht gleichzeitig gesetzt sein" + +msgid "Invalid credentials" +msgstr "Ungültige Zugangsdaten" + +msgid "Data" +msgstr "Daten" + +msgid "Failed members" +msgstr "Fehler bei Mitgliedern" + +msgid "Failed hosts/hostgroups" +msgstr "Fehler bei Hosts/Hostgruppen" + +msgid "Failed users/groups" +msgstr "Fehlerhafte Benutzer/Gruppen" + +msgid "Failed service/service groups" +msgstr "Fehler bei Diensten/Dienstgruppen" + +msgid "Failed to remove" +msgstr "Entfernen fehlgeschlagen" + +msgid "Failed RunAs" +msgstr "RunAs fehlgeschlagen" + +msgid "Failed RunAsGroup" +msgstr "RunAsGroup fehlgeschlagen" #, python-format msgid "Enter %(label)s again to verify: " @@ -176,6 +290,10 @@ msgid "Could not get %(name)s interactively" msgstr "%(name)s konnte nicht interaktiv ermittelt werden" #, python-format +msgid "Command '%(name)s' has been deprecated" +msgstr "Befehl '%(name)s' ist veraltet" + +#, python-format msgid "%(reason)s" msgstr "%(reason)s" @@ -232,9 +350,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/AAAA record" -msgstr "Host hat keinen korrespondierenden DNS A/AAAA-Eintrag" - 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 " @@ -326,10 +441,6 @@ msgid "LDAP timeout" msgstr "LDAP Timeout" #, python-format -msgid "DNS check failed: Expected {%(expected)s} got {%(got)s}" -msgstr "DNS Check fehlerhaft: Erwartet {%(expected)s} bekommen {%(got)s}" - -#, python-format msgid "Certificate operation cannot be completed: %(error)s" msgstr "Zertifikat-Operation kann nicht abgeschlossen werden: %(error)s" @@ -365,6 +476,10 @@ msgstr "%(label)s %(key)s kann nicht gelöscht/bearbeitet werden: %(reason)s" msgid "%(name)s certificate is not valid" msgstr "%(name)s Zertifikat ist ungültig" +#, python-format +msgid "DNS check failed: Expected {%(expected)s} got {%(got)s}" +msgstr "DNS Check fehlerhaft: Erwartet {%(expected)s} bekommen {%(got)s}" + msgid "Results are truncated, try a more specific search" msgstr "" "Ergebnisse wurden abgeschnitten, versuchen Sie eine spezifischere Suche." @@ -444,6 +559,10 @@ msgstr "" "Bitte überprüfen Sie die DNSSEC Konfigurationen oder deaktivieren die DNSSEC " "Überprüfung auf allen IPA Servern." +#, python-format +msgid "'%(command)s' is deprecated. %(additional_info)s" +msgstr "'%(command)s' ist veraltet. %(additional_info)s" + msgid "A list of LDAP entries" msgstr "Eine Liste von LDAP-Einträgen" @@ -475,6 +594,9 @@ msgstr "inkorrekter Typ" msgid "Only one value is allowed" msgstr "Nur ein Wert ist erlaubt" +msgid "this option is deprecated" +msgstr "diese Option ist veraltet" + msgid "must be True or False" msgstr "muss »True« oder »False« sein" @@ -548,9 +670,6 @@ msgstr "muss eines von %(values)s sein" msgid "must be datetime value" msgstr "muss ein datetime-Wert sein" -msgid "this option is deprecated" -msgstr "diese Option ist veraltet" - msgid "must be DNS name" msgstr "muss ein DNS-Name sein" @@ -560,6 +679,42 @@ msgstr "muss absolut sein" msgid "must be relative" msgstr "muss relativ sein" +#, python-format +msgid "Permission denied: %(file)s" +msgstr "Zugriff verweigert: %(file)s" + +msgid "too many '@' characters" +msgstr "Zu viele »@«-Zeichen" + +msgid "cannot be longer that 255 characters" +msgstr "darf nicht länger als 255 Zeichen sein" + +msgid "not fully qualified" +msgstr "nicht voll ausgeschrieben" + +msgid "invalid SSH public key" +msgstr "Ungültiger öffentlicher SSH-Schlüssel" + +#, python-format +msgid "invalid domain-name: %s" +msgstr "Ungültiger Domainname: %s" + +#, python-format +msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" +msgstr "" +"Ungültige IP-Adressversion (ist %(value)d, muss %(required_value)d) sein!" + +msgid "invalid IP address format" +msgstr "Ungültiges IP-Adressformat" + +#, python-format +msgid "%(port)s is not a valid port" +msgstr "%(port)s kein gültiger Port" + +#, python-format +msgid "objectclass %s not found" +msgstr "objektklasse %s nicht gefunden" + msgid "A list of ACI values" msgstr "Liste von ACI-Werten" @@ -706,18 +861,89 @@ msgstr "Neuer ACI-Name" msgid "Renamed ACI to \"%(value)s\"" msgstr "ACI umbenannt zu \"%(value)s\"" +msgid "" +"\n" +"Auto Membership Rule.\n" +msgstr "" +"\n" +"Regel für Auto-Mitgliedschaft\n" + +msgid "Inclusive Regex" +msgstr "Einschließende Regex" + +msgid "Exclusive Regex" +msgstr "Ausschließende Regex" + +msgid "Attribute Key" +msgstr "Attribut Schlüssel" + +msgid "" +"Attribute to filter via regex. For example fqdn for a host, or manager for a " +"user" +msgstr "" +"Dieses Attribut wird per Regex gefiltert. Zum Beispiel FQDN für einen Host, " +"oder Manager für einen Benutzer" + +msgid "Grouping Type" +msgstr "Gruppierungstyp" + +msgid "Grouping to which the rule applies" +msgstr "Gruppierung, auf die die Regel angewendet wird" + +msgid "Automember Rule" +msgstr "Auto-Mitgliedschaftsregel" + +msgid "Auto Membership Rule" +msgstr "Regel für Auto-Mitgliedschaft" + msgid "Description" msgstr "Beschreibung" +msgid "A description of this auto member rule" +msgstr "Beschreibung der Auto-Mitgliedschaftsregel" + +msgid "Default (fallback) Group" +msgstr "Standard (Rückfall) Gruppe" + msgid "Default group for entries to land" msgstr "Vorgegebene Gruppe für Einträge" #, python-format +msgid "%(otype)s \"%(oname)s\" not found" +msgstr "%(otype)s \"%(oname)s\" nicht gefunden" + +#, python-format msgid "%s is not a valid attribute." msgstr "%s ist kein gültiges Attribut" -msgid "Failed to add" -msgstr "Hinzufügen fehlgeschlagen" +msgid "" +"\n" +" Add an automember rule.\n" +" " +msgstr "" +"\n" +" Auto-Mitgliedschaftsregel hinzufügen.\n" +" " + +#, python-format +msgid "Added automember rule \"%(value)s\"" +msgstr "Auto-Mitgliedschaftsregel \"%(value)s\" hinzugefügt" + +msgid "Auto Membership is not configured" +msgstr "Auto-Mitgliedschaft ist nicht konfiguriert" + +msgid "" +"\n" +" Add conditions to an automember rule.\n" +" " +msgstr "" +"\n" +" Bedigungen zu einer Auto-Mitgliedschaftsregel hinzufügen.\n" +" " + +#, python-format +msgid "Added condition(s) to \"%(value)s\"" +msgstr "Bedingung(en) zu \"%(value)s\" hinzugefügt" msgid "Conditions that could not be added" msgstr "Bedingungen, die nicht hinzugefügt werden konnten" @@ -725,21 +951,124 @@ msgstr "Bedingungen, die nicht hinzugefügt werden konnten" msgid "Number of conditions added" msgstr "Anzahl der hinzugefügten Bedingungen" +#, python-format +msgid "Auto member rule: %s not found!" +msgstr "Auto-Mitgliedschaftsregel: %s nicht gefunden!" + +msgid "" +"\n" +" Remove conditions from an automember rule.\n" +" " +msgstr "" +"\n" +" Bedingungen von einer einer Auto-Mitglieschaftsregel entfernen. " + +#, python-format +msgid "Removed condition(s) from \"%(value)s\"" +msgstr "Bedingung(en) von \"%(value)s\" entfernt" + msgid "Conditions that could not be removed" msgstr "Bedingungen, die nicht entfernt werden konnten" msgid "Number of conditions removed" msgstr "Anzahl der entfernten Bedingungen" +msgid "" +"\n" +" Modify an automember rule.\n" +" " +msgstr "" +"\n" +" Auto-Mitgliedschaftsregel bearbeiten. " + +#, python-format +msgid "Modified automember rule \"%(value)s\"" +msgstr "Auto-Mitgliedschaftsregel \"%(value)s\" bearbeitet" + +msgid "" +"\n" +" Delete an automember rule.\n" +" " +msgstr "" +"\n" +" Auto-Mitgliedschaftsregel löschen.\n" +" " + +#, python-format +msgid "Deleted automember rule \"%(value)s\"" +msgstr "Auto-Mitgliedschaftsregel \"%(value)s\" gelöscht" + +msgid "" +"\n" +" Search for automember rules.\n" +" " +msgstr "" +"\n" +" Suche nach Auto-Mitgliedschaftsregeln.\n" +" " + +msgid "" +"\n" +" Display information about an automember rule.\n" +" " +msgstr "" +"\n" +" Informationen über Auto-Mitgliedschaftsregel anzeigen.\n" +" " + +msgid "Task DN" +msgstr "Aufgaben DN" + +msgid "DN of the started task" +msgstr "DN der gestarteten Aufgabe" + +msgid "Rebuild auto membership." +msgstr "Auto-Mitgliedschaft neu erstellen" + +msgid "Rebuild membership for all members of a grouping" +msgstr "" +"Auto-Mitgliedschaft für alle Mitglieder einer Gruppierung neu erstellen" + msgid "Users" msgstr "Benutzer" +msgid "Rebuild membership for specified users" +msgstr "Auto-Mitgliedschaft für ausgewählte Benutzer neu erstellen" + msgid "Hosts" msgstr "Hosts" +msgid "Rebuild membership for specified hosts" +msgstr "Auto-Mitgliedschaft für ausgewählte Hosts neu erstellen" + msgid "No wait" msgstr "Keine Wartezeit" +msgid "at least one of options: type, users, hosts must be specified" +msgstr "Mindestens eine der Optionen: type, users, hosts muss gesetzt sein" + +msgid "users and hosts cannot both be set" +msgstr "Benutzer und Host können nicht gleichzeitig gesetzt sein." + +msgid "hosts cannot be set when type is 'group'" +msgstr "hosts kann nicht gesetzt sein wenn Typ 'group' ist" + +msgid "users cannot be set when type is 'hostgroup'" +msgstr "users kann nicht gesetzt sein wenn Typ 'hostgroup' ist" + +msgid "Automember rebuild membership task started" +msgstr "Aufgabe für die Neuerstellung der Auto-Mitgliedschaft gestartet" + +msgid "Automember rebuild membership task completed" +msgstr "Aufgabe für die Neuerstellung der Auto-Mitgliedschaft abgeschlossen" + +#, python-format +msgid "Task DN = '%s'" +msgstr "Aufgaben DN = '%s'" + +msgid "Automember" +msgstr "Auto-Mitgliedschaft" + msgid "automount location" msgstr "Automount-Ort" @@ -761,24 +1090,52 @@ msgstr "Automount-Ort" msgid "Create a new automount location." msgstr "Neuen Automount-Ort erstellen." -msgid "Master file" -msgstr "Masterdatei" +#, python-format +msgid "Added automount location \"%(value)s\"" +msgstr "Automount Ort \"%(value)s\" hinzugefügt" -msgid "Automount master file." -msgstr "Automount-Masterdatei" +msgid "Delete an automount location." +msgstr "Automount-Ort löschen." #, python-format -msgid "File %(file)s not found" -msgstr "Datei %(file)s nicht gefunden" +msgid "Deleted automount location \"%(value)s\"" +msgstr "Automount-Ort \"%(value)s\" gelöscht" -msgid "Map" -msgstr "Karte" +msgid "Display an automount location." +msgstr "Automount-Ort anzeigen." -msgid "Key" -msgstr "Schlüssel" +msgid "Search for an automount location." +msgstr "Automount-Ort suchen." -msgid "Mount information" -msgstr "Einhänge-Informationen" +#, python-format +msgid "%(count)d automount location matched" +msgid_plural "%(count)d automount locations matched" +msgstr[0] "%(count)d Automount-Ort gefunden" +msgstr[1] "%(count)d Automount-Orte gefunden" + +msgid "automount map" +msgstr "Automount-Map" + +msgid "automount maps" +msgstr "Automount-Maps" + +msgid "Map" +msgstr "Karte" + +msgid "Automount map name." +msgstr "Automount-Map Name." + +msgid "Automount Maps" +msgstr "Automount-Maps" + +msgid "Automount Map" +msgstr "Automount-Map" + +msgid "Key" +msgstr "Schlüssel" + +msgid "Mount information" +msgstr "Einhänge-Informationen" msgid "description" msgstr "Beschreibung" @@ -786,12 +1143,6 @@ msgstr "Beschreibung" msgid "Mount point" msgstr "Einhängepunkt" -msgid "Password" -msgstr "Passwort" - -msgid "Failed members" -msgstr "Fehler bei Mitgliedern" - msgid "Member users" msgstr "Mitglieds-Benutzer" @@ -855,24 +1206,6 @@ msgstr "Indirekte Mitgli" msgid "Indirect Member HBAC service group" msgstr "Indirekte Mitglieds-HBAC-Servicegruppe" -msgid "Failed hosts/hostgroups" -msgstr "Fehler bei Hosts/Hostgruppen" - -msgid "Failed users/groups" -msgstr "Fehlerhafte Benutzer/Gruppen" - -msgid "Failed service/service groups" -msgstr "Fehler bei Diensten/Dienstgruppen" - -msgid "Failed to remove" -msgstr "Entfernen fehlgeschlagen" - -msgid "Failed RunAs" -msgstr "RunAs fehlgeschlagen" - -msgid "Failed RunAsGroup" -msgstr "RunAsGroup fehlgeschlagen" - msgid "Invalid format. Should be name=value" msgstr "Ungültiges Format. Sollte name=wert sein." @@ -994,15 +1327,9 @@ msgstr "Nur primärer Schlüssel" msgid "Time Limit" msgstr "Zeitbegrenzung" -msgid "Time limit of search in seconds" -msgstr "Zeitbegrenzung für den Suchvorgang in Sekunden" - msgid "Size Limit" msgstr "Größenbeschränkung" -msgid "Maximum number of entries returned" -msgstr "Maximale Anzahl der zurückgegebenen Einträge" - msgid "Kerberos keys available" msgstr "Kerberos-Schlüssel verfügbar" @@ -1158,9 +1485,6 @@ msgstr "Bevorzugte Sprache" msgid "Certificate" msgstr "Zertifikat" -msgid "Base-64 encoded server certificate" -msgstr "Base-64-kodiertes Serverzertifikat" - #, python-format msgid "invalid e-mail format: %(email)s" msgstr "Ungültiges E-Mail-Format: %(email)s" @@ -1260,27 +1584,6 @@ msgstr "Fehler beim Dekodieren der Signaturanfrage für das Zertifikat: %s" msgid "CA is not configured" msgstr "CA ist nicht konfiguriert" -msgid "Submit a certificate signing request." -msgstr "Eine Signaturanfrage (CSR) senden." - -msgid "CSR" -msgstr "CSR" - -msgid "Principal" -msgstr "Principal" - -msgid "Principal for this certificate (e.g. HTTP/test.example.com)" -msgstr "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 "Profile ID" -msgstr "Profil-ID" - -msgid "Certificate Profile to use" -msgstr "Benutze Zertifikatsprofil" - msgid "Subject" msgstr "Betreff" @@ -1302,32 +1605,59 @@ msgstr "Fingerabdruck (SHA1)" msgid "Serial number" msgstr "Seriennummer" +msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" +msgstr "" +"Seriennummer in Dezimalschreibweise oder (bei Präfix 0x) in " +"Hexadezimalschreibweise" + msgid "Serial number (hex)" msgstr "Seriennummer (hex)" +msgid "Profile ID" +msgstr "Profil-ID" + +msgid "Certificate Profile to use" +msgstr "Benutze Zertifikatsprofil" + +msgid "Request status" +msgstr "Anfragestatus" + +msgid "Request id" +msgstr "Anfrage-ID" + +msgid "Submit a certificate signing request." +msgstr "Eine Signaturanfrage (CSR) senden." + +msgid "CSR" +msgstr "CSR" + +msgid "Principal" +msgstr "Principal" + +msgid "Principal for this certificate (e.g. HTTP/test.example.com)" +msgstr "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 "The principal for this request doesn't exist." msgstr "Der Principal für diese Anfrage existiert nicht" msgid "Check the status of a certificate signing request." msgstr "Den Status der Signaturanfrage des Zertifikats überprüfen." -msgid "Request id" -msgstr "Anfrage-ID" +msgid "Status" +msgstr "Status" -msgid "Request status" -msgstr "Anfragestatus" +msgid "Revoked" +msgstr "Widerrufen" -msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" -msgstr "" -"Seriennummer in Dezimalschreibweise oder (bei Präfix 0x) in " -"Hexadezimalschreibweise" +msgid "Revocation reason" +msgstr "Grund des Widerrufs" msgid "Retrieve an existing certificate." msgstr "Ein existierendes Zertifikat holen." -msgid "Revocation reason" -msgstr "Grund des Widerrufs" - msgid "Output filename" msgstr "Name der Ausgabedatei" @@ -1337,15 +1667,6 @@ msgstr "Datei, in der das Zertifikat gespeichert werden soll." msgid "Revoke a certificate." msgstr "Ein Zertifikat widerrufen." -msgid "Revoked" -msgstr "Widerrufen" - -msgid "Reason" -msgstr "Grund" - -msgid "Reason for revoking the certificate (0-10)" -msgstr "Grund für den Widerruf des Zertifikats (0-10)" - msgid "7 is not a valid revocation reason" msgstr "7 ist kein gültiger Grund für einen Widerruf." @@ -1355,12 +1676,6 @@ msgstr "Nicht widerrufen" msgid "Error" msgstr "Fehler" -msgid "Status" -msgstr "Status" - -msgid "Filename" -msgstr "Dateiname" - msgid "configuration options" msgstr "Konfigurationsoptionen" @@ -1391,16 +1706,9 @@ msgstr "Vorgegebene Gruppe für neue Benutzer" msgid "Search time limit" msgstr "Zeitlimit für Suche" -msgid "" -"Maximum amount of time (seconds) for a search (> 0, or -1 for unlimited)" -msgstr "Maximale Zeit in Sekunden für eine Suche (>0 oder -1 für unbegrenzt)" - msgid "Search size limit" msgstr "Größenlimit für Suche" -msgid "Maximum number of records to search (-1 is unlimited)" -msgstr "Maximale Anzahl an Ergebnissen für Suche (-1 ist unbegrenzt)" - msgid "User search fields" msgstr "Benutzer Suchfelder" @@ -1499,14 +1807,6 @@ msgstr "" msgid "Permission value" msgstr "Berechtigungswert" -#, python-format -msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" -msgstr "" -"Ungültige IP-Adressversion (ist %(value)d, muss %(required_value)d) sein!" - -msgid "invalid IP address format" -msgstr "Ungültiges IP-Adressformat" - msgid "invalid IP network format" msgstr "Ungültiges IP-Netzwerkformat" @@ -1517,10 +1817,6 @@ msgid "invalid address format" msgstr "Ungültiges Adressformat" #, python-format -msgid "%(port)s is not a valid port" -msgstr "%(port)s kein gültiger Port" - -#, python-format msgid "DNS zone %(zone)s not found" msgstr "DNS Zone %(zone)s nicht gefunden" @@ -1673,16 +1969,6 @@ msgstr "Strukturiert" msgid "DNS records can be only updated one at a time" msgstr "Es können nicht mehrere DNS-Datensätze aktualisiert werden." -msgid "No option to modify specific record provided." -msgstr "Keine Option zum Ändern des spezifischen Datensatzes angegeben." - -msgid "Current DNS record contents:\n" -msgstr "Derzeitiger Inhalt des DNS-Datensatzes:\n" - -#, python-format -msgid "Modify %(name)s '%(value)s'?" -msgstr "Wert von %(name)s auf »%(value)s« ändern?" - #, python-format msgid "Deleted record \"%(value)s\"" msgstr "Datensatz »%(value)s« gelöscht" @@ -1694,16 +1980,6 @@ msgstr "Alle zugehörigen Datensätze löschen" msgid "Zone record '%s' cannot be deleted" msgstr "Zonen-Datensatz »%s« kann nicht gelöscht werden" -msgid "No option to delete specific record provided." -msgstr "Keine Option zum Löschen des spezifischen Datensatzes angegeben." - -msgid "Delete all?" -msgstr "Alles löschen?" - -#, python-format -msgid "Delete %(name)s '%(value)s'?" -msgstr "Wert von %(name)s auf »%(value)s« löschen?" - msgid "Display DNS resource." msgstr "DNS-Ressource anzeigen." @@ -1718,6 +1994,9 @@ msgstr "»%(value)s« gefunden" msgid "Host '%(host)s' not found" msgstr "Host »%(host)s« nicht gefunden" +msgid "Server name" +msgstr "Servername" + msgid "" "\n" "Raise the IPA Domain Level.\n" @@ -1746,6 +2025,9 @@ msgstr "" "Domain Level kann nicht auf {0} erhöht werden, Server {1} unterstützt das " "nicht." +msgid "External member" +msgstr "Externes Mitglied" + msgid "group" msgstr "Gruppe" @@ -1764,9 +2046,6 @@ msgstr "Gruppenbeschreibung" msgid "GID (use this option to set it manually)" msgstr "Gruppen-ID (verwenden Sie diese Option, um die ID manuell anzugeben)" -msgid "External member" -msgstr "Externes Mitglied" - msgid "Create a new group." msgstr "Eine neue Gruppe erstellen." @@ -1894,9 +2173,6 @@ msgstr "HBAC-Regel aktivieren." msgid "Enabled HBAC rule \"%(value)s\"" msgstr "HBAC-Regel \"%(value)s\" aktiviert" -msgid "Disable an HBAC rule." -msgstr "HBAC-Regel deaktivieren." - #, python-format msgid "Disabled HBAC rule \"%(value)s\"" msgstr "HBAC-Regel \"%(value)s\" deaktiviert" @@ -1922,9 +2198,6 @@ msgstr "Dienste zu einer HBAC-Gruppe hinzufügen." msgid "Remove service and service groups from an HBAC rule." msgstr "Dienste von einer HBAC-Gruppe entfernen." -msgid "Host based access control commands" -msgstr "HBAC Befehle" - msgid "HBAC service" msgstr "HBAC-Dienst" @@ -2094,10 +2367,6 @@ msgstr "Hosts die Schlüsseltabelle erstellen dürfen" msgid "Host Groups allowed to create keytab" msgstr "Hostgruppen die Schlüsseltabelle erstellen dürfen" -#, python-format -msgid "invalid domain-name: %s" -msgstr "Ungültiger Domainname: %s" - msgid "host" msgstr "host" @@ -2164,9 +2433,6 @@ msgstr "Host löschen." msgid "Deleted host \"%(value)s\"" msgstr "Host \"%(value)s\" gelöscht" -msgid "Remove entries from DNS" -msgstr "DNS Einträge löschen" - msgid "Modify information about a host." msgstr "Hostinformationen ändern." @@ -2352,16 +2618,12 @@ msgstr "${count} Einträge gelöscht" msgid "Show Results" msgstr "Ergebnisse anzeigen" -msgid "Implicit method (password) will be used if no method is chosen." -msgstr "" -"Implizite Methode (Passwort) wird gewählt wenn keine Methode ausgewählt ist." +msgid "OTP" +msgstr "OTP" msgid "Two factor authentication (password + OTP)" msgstr "Zwei-Faktor-Authentifizierung (Passwort + Einmalpasswort)" -msgid "Radius" -msgstr "Radius" - msgid "About" msgstr "Über" @@ -2665,6 +2927,27 @@ msgstr "Direkt" msgid "Indirect" msgstr "Indirekt" +msgid "Any Host" +msgstr "Jeder Host" + +msgid "Any Service" +msgstr "Jeder Dienst" + +msgid "Anyone" +msgstr "Jeder" + +msgid "Rule status" +msgstr "Regelstatus" + +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 "Certificates" msgstr "Zertifikate" @@ -2719,9 +3002,6 @@ msgstr "Benutzeroptionen" msgid "Options" msgstr "Optionen" -msgid "Data" -msgstr "Daten" - msgid "Other Record Types" msgstr "Andere Datensatztypen" @@ -2752,33 +3032,12 @@ msgstr "POSIX" msgid "Group Type" msgstr "Gruppentyp" -msgid "Any Host" -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" @@ -2877,12 +3136,47 @@ msgstr "" msgid "Configure your token" msgstr "Token konfigurieren" +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 "" +"Konfigurieren Sie ihren Token indem sie den QR Code unten scannen. Klicken " +"Sie auf den QR Code wenn Sie dies auf dem Gerät sehen welches Sie " +"konfigurieren möchten." + +msgid "OTP Token Settings" +msgstr "OTP Token Einstellungen" + +msgid "Disable token" +msgstr "Token deaktivieren" + +msgid "Enable token" +msgstr "Token aktivieren" + +msgid "Show QR code" +msgstr "QR Code zeigen" + +msgid "Show configuration uri" +msgstr "Konfigurations-URL zeigen" + +msgid "Counter-based (HOTP)" +msgstr "Zählerbasiert (HOTP)" + +msgid "Time-based (TOTP)" +msgstr "Zeitbasiert (TOTP)" + msgid "Password Policy" msgstr "Passwort-Regeln" msgid "Force Update" msgstr "Update erzwingen" +msgid "Service Settings" +msgstr "Diensteinstellungen" + +msgid "Provisioning" +msgstr "Provisioning" + msgid "SSH public keys" msgstr "Öffentlicher SSH Schlüssel" @@ -2914,6 +3208,23 @@ msgstr "SInd Sie sicher, dass Sie die ausgewählten Benutzer aktivieren wollen?" msgid "${count} user(s) activated" msgstr "${count} Benutzer aktiviert" +msgid "Stage users" +msgstr "Vorbereitete Benutzer" + +msgid "Preserved users" +msgstr "Aufbewahrte Benutzer" + +msgid "Are you sure you want to restore selected users?" +msgstr "" +"SInd Sie sicher, dass Sie die ausgewählten Benutzer wiederherstellen wollen?" + +#, python-brace-format +msgid "${count} user(s) restored" +msgstr "${count} user(s) wiederhergestellt" + +msgid "User categories" +msgstr "Benutzerkategorien" + msgid "Groups" msgstr "Gruppen" @@ -2938,12 +3249,28 @@ msgstr "Verweigern" msgid "Access this host" msgstr "Zugriff auf diesen Host" +msgid "Option added" +msgstr "Optionen hinzugefügt" + +#, python-brace-format +msgid "${count} option(s) removed" +msgstr "${count} Option(en) entfernt" + +msgid "As Whom" +msgstr "Als Wer" + msgid "Specified Commands and Groups" msgstr "Spezifische Befehle und Gruppen" msgid "Specified Groups" msgstr "Spezifische Gruppe" +msgid "Segment details" +msgstr "Segment Details" + +msgid "Replication configuration" +msgstr "Replikationseinstellungen" + msgid "Account" msgstr "Konto" @@ -2962,12 +3289,21 @@ msgstr "Kontoeinstellungen" msgid "Account Status" msgstr "Kontostatus" +msgid "Active users" +msgstr "Aktive Benutzer" + msgid "Contact Settings" msgstr "Kontakteinstellungen" +msgid "Delete mode" +msgstr "Lösch-Modus" + msgid "Employee Information" msgstr "Mitarbeiterinformationen" +msgid "Error changing account status" +msgstr "Fehler beim Ändern des Kontostatus" + msgid "Password expiration" msgstr "Passwortablauf" @@ -2977,6 +3313,15 @@ msgstr "Anschrift" msgid "Misc. Information" msgstr "Weitere Informationen" +msgid "delete" +msgstr "löschen" + +msgid "preserve" +msgstr "aufbewahren" + +msgid "No private group" +msgstr "Keine private Gruppe" + #, python-brace-format msgid "" "Are you sure you want to ${action} the user?
The change will take effect " @@ -2992,19 +3337,49 @@ msgstr "Klicken um zu ${action}" msgid "Unlock" msgstr "Entsperren" +#, python-brace-format +msgid "Are you sure you want to unlock user ${object}?" +msgstr "SInd Sie sicher, dass Sie den Benutzer ${object} entsperren möchten?" + msgid "Current Password" msgstr "Aktuelles Passwort" msgid "Current password is required" msgstr "Aktuelles Passwort ist erforderlich" +#, python-brace-format +msgid "Your password expires in ${days} days." +msgstr "Ihr Passwort läuft in ${days} Tagen ab." + +msgid "First OTP" +msgstr "Erstes OTP" + +msgid "The password or username you entered is incorrect." +msgstr "Das Passwort oder der Benutzername waren falsch." + msgid "New Password" msgstr "Neues Passwort" msgid "New password is required" msgstr "Neues Passwort wird benötigt" -msgid "Password or Password+One-Time-Password" +msgid "" +" One-Time-Password(OTP): " +"Generate new OTP code for each OTP field." +msgstr "" +" Einmalpasswort(OTP): " +"Generieren Sie einen OTP-Code für jedes OTP-Feld." + +msgid "Token synchronization failed" +msgstr "Token-Synchronisierung fehlgeschlagen" + +msgid "The username, password or token codes are not correct" +msgstr "Benutzername, Passwort oder Einmalpasswort waren falsch." + +msgid "Token was synchronized" +msgstr "Token wurde synchronisiert" + +msgid "Password or Password+One-Time-Password" msgstr "Passwort oder Passwort+Einmalpasswort" msgid "Password change complete" @@ -3025,15 +3400,31 @@ msgstr "Passwort zurücksetzen." msgid "Second OTP" msgstr "Zweites OTP" -msgid "Token ID" -msgstr "Token ID" - msgid "Verify Password" msgstr "Passwort verifizieren" msgid "Are you sure you want to delete selected entries?" msgstr "Sind Sie sicher, dass Sie die ausgewählten Einträge löschen wollen?" +#, python-brace-format +msgid "${count} item(s) deleted" +msgstr "${count} Einträge gelöscht" + +msgid "Are you sure you want to disable selected entries?" +msgstr "" +"Sind Sie sicher, dass Sie die ausgewählten Einträge deaktivieren wollen?" + +#, python-brace-format +msgid "${count} item(s) disabled" +msgstr "${count} Einträge deaktiviert" + +msgid "Are you sure you want to enable selected entries?" +msgstr "Sind Sie sicher, dass Sie die ausgewählten Einträge aktivieren wollen?" + +#, python-brace-format +msgid "${count} item(s) enabled" +msgstr "${count} Einträge aktiviert" + msgid "Some entries were not deleted" msgstr "Einige Einträge wurden nicht gelöscht" @@ -3043,6 +3434,14 @@ msgstr "Schnell Links" msgid "Select All" msgstr "Alle auswählen" +#, python-brace-format +msgid "" +"Query returned more results than the configured size limit. Displaying the " +"first ${counter} results." +msgstr "" +"Abfrage hat mehr Ergebnisse erzeugt als das konfigurierte Maximum. Zeige die " +"ersten ${counter} Ergebnisse." + msgid "Unselect All" msgstr "Alle abwählen" @@ -3052,6 +3451,9 @@ msgstr "Deaktiviert" msgid "Working" msgstr "Arbeite" +msgid "Audit" +msgstr "Audit" + msgid "Authentication" msgstr "Authentifizierung" @@ -3061,6 +3463,9 @@ msgstr "Automount" msgid "DNS" msgstr "DNS" +msgid "Host Based Access Control" +msgstr "Hostbasierte Zugriffskontrolle (HBAC)" + msgid "Identity" msgstr "Identität" @@ -3073,9 +3478,18 @@ msgstr "Netzwerkdienste" msgid "Policy" msgstr "Regeln" +msgid "Role Based Access Control" +msgstr "Rollenbasierte Zugriffskontrolle (RBAC)" + msgid "Sudo" msgstr "Sudo" +msgid "Topology" +msgstr "Topologie" + +msgid "True" +msgstr "Wahr" + msgid "First" msgstr "Erste" @@ -3091,6 +3505,12 @@ msgstr "Seite" msgid "Prev" msgstr "Vorherige" +msgid "Undo" +msgstr "Rückgängig" + +msgid "Undo All" +msgstr "Alle Rückgängig" + msgid "Must be an integer" msgstr "Muss eine Ganzzahl sein" @@ -3111,6 +3531,15 @@ msgstr "Maximaler Wert ist ${value}" msgid "Minimum value is ${value}" msgstr "Minimaler Wert ist ${value}" +msgid "The IPA realm" +msgstr "Der IPA-Realm" + +msgid "Hardware platform of the host (e.g. Lenovo T61)" +msgstr "Hardwareplattform des Hosts (z.B. Lenovo T400)" + +msgid "Operating System and version of the host (e.g. Fedora 9)" +msgstr "Betriebssystem und Version des Hosts (z.B. Fedora 20)" + msgid "LDAP URI" msgstr "LDAP-URI" @@ -3137,11 +3566,6 @@ msgid "Lists of objects that could not be migrated; categorized by type." msgstr "" "Liste der Objekte, die nicht migriert werden konnten, nach Typ geordnet." -msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." -msgstr "" -"Der Migrationsmodus ist deaktiviert. Rufen Sie »ipa config-mod« auf, um ihn " -"zu aktivieren." - msgid "Show environment variables." msgstr "Umgebungsvariablen anzeigen." @@ -3164,22 +3588,395 @@ msgstr "Anzahl der geladenen Plugins" msgid "Member Host" msgstr "Mitglieds-Host" +msgid "One time password commands" +msgstr "Einmalpasswort Befehle" + +msgid "OTP configuration options" +msgstr "OTP-Konfigurationsoptionen" + +msgid "OTP Configuration" +msgstr "OTP Konfiguration" + +msgid "TOTP authentication Window" +msgstr "TOTP Authentifizierungsfenster" + +msgid "TOTP Synchronization Window" +msgstr "TOTP Sychnronisierungsfenster" + +msgid "HOTP Authentication Window" +msgstr "HOTP Authentifizierungsfenster" + +msgid "HOTP Synchronization Window" +msgstr "HOTP Sychnronisierungsfenster" + +msgid "Modify OTP configuration options." +msgstr "OTP Konfigurationsoptionen bearbeiten." + +msgid "Show the current OTP configuration." +msgstr "Aktuelle OTP Konfiguration anzeigen" + +msgid "" +"\n" +"OTP Tokens\n" +msgstr "" +"\n" +"OTP Tokens\n" + +msgid "" +"\n" +"Manage OTP tokens.\n" +msgstr "" +"\n" +"OTP-Tokens bearbeiten.\n" + +msgid "OTP token" +msgstr "OTP Token" + +msgid "OTP tokens" +msgstr "OTP Tokens" + +msgid "OTP Tokens" +msgstr "OTP Tokens" + +msgid "OTP Token" +msgstr "OTP Token" + +msgid "Unique ID" +msgstr "Eindeutige ID" + +msgid "Type of the token" +msgstr "Token-Typ" + +msgid "Token description (informational only)" +msgstr "Token Beschriebung (nur informativ)" + +msgid "Owner" +msgstr "Eigentümer" + +msgid "Assigned user of the token (default: self)" +msgstr "Zugewiesener Token-Benutzer (Standard: selbst)" + +msgid "Assigned manager of the token (default: self)" +msgstr "Zugewiesener Token-Verwalter (Standard: selbst)" + +msgid "Mark the token as disabled (default: false)" +msgstr "Token als deaktiviert markieren (Standard: false)" + +msgid "Validity start" +msgstr "Gültig ab" + +msgid "First date/time the token can be used" +msgstr "Ab diesem Datum kann der Token benutzt werden" + +msgid "Validity end" +msgstr "Gültig bis" + +msgid "Last date/time the token can be used" +msgstr "Bis zu diesem Datum kann der Token benutzt werden" + +msgid "Vendor" +msgstr "Hersteller" + +msgid "Token vendor name (informational only)" +msgstr "Token-Hersteller (nur informativ)" + +msgid "Model" +msgstr "Modell" + +msgid "Token model (informational only)" +msgstr "Token-Modell (nur informativ)" + +msgid "Serial" +msgstr "Seriennummer" + +msgid "Token serial (informational only)" +msgstr "Token-Seriennummer (nur informativ)" + +msgid "Token secret (Base32; default: random)" +msgstr "Token-Geheimis (Base32; Standard: zufällig)" + +msgid "Token hash algorithm" +msgstr "Token Hash-Algorithmus" + +msgid "Digits" +msgstr "Zeichen" + +msgid "Number of digits each token code will have" +msgstr "Zeichenanzahl die jeder Token-Code haben wird" + +msgid "Clock offset" +msgstr "Zeit-Offset" + +msgid "TOTP token / FreeIPA server time difference" +msgstr "Differenz zwischen Token und Serverzeit" + +msgid "Clock interval" +msgstr "Zeitintervall" + +msgid "Length of TOTP token code validity" +msgstr "Dauer die ein TOTP Code gültig ist " + +msgid "Counter" +msgstr "Zähler" + +msgid "Initial counter for the HOTP token" +msgstr "Startwert des HOTP-Zählers" + +msgid "Add a new OTP token." +msgstr "Neuen OTP-Token hinzufügen" + +#, python-format +msgid "Added OTP token \"%(value)s\"" +msgstr "OTP token \"%(value)s\" hinzugefügt" + +msgid "(deprecated)" +msgstr "(veraltet)" + +msgid "Do not display QR code" +msgstr "Keinen QR Code zeigen" + +msgid "URI" +msgstr "URI" + +msgid "Delete an OTP token." +msgstr "OTP Token löschen" + +#, python-format +msgid "Deleted OTP token \"%(value)s\"" +msgstr "OTP token \"%(value)s\" gelöscht" + +msgid "Modify a OTP token." +msgstr "OTP Token bearbeiten" + +#, python-format +msgid "Modified OTP token \"%(value)s\"" +msgstr "OTP Token \"%(value)s\" geändert" + +msgid "Search for OTP token." +msgstr "OTP Token suchen." + +#, python-format +msgid "%(count)d OTP token matched" +msgid_plural "%(count)d OTP tokens matched" +msgstr[0] "%(count)d OTP Token gefunden" +msgstr[1] "%(count)d OTP Tokens gefunden" + +msgid "Display information about an OTP token." +msgstr "Informationen über OTP Token anzeigen." + +msgid "Add users that can manage this token." +msgstr "Nutzer hinzufügen die diesen Token verwalten können" + +msgid "Remove users that can manage this token." +msgstr "Nutzer entfernen die diesen Token verwalten können" + +msgid "Set a user's password." +msgstr "Passwort für einen Benutzer setzen." + +msgid "One Time Password" +msgstr "Einmalpasswort" + #, python-format msgid "Changed password for \"%(value)s\"" msgstr "Passwort für \"%(value)s\" geändert" -msgid "Invalid credentials" -msgstr "Ungültige Zugangsdaten" +msgid "permission" +msgstr "Berechtigung" + +msgid "permissions" +msgstr "Berechtigungen" + +msgid "Permission name" +msgstr "Berechtigungsname" msgid "PKINIT" msgstr "PKINIT" +msgid "password policy" +msgstr "Passwortregel" + +msgid "password policies" +msgstr "Passwortregeln" + +msgid "Max failures" +msgstr "Maximale Fehler" + +msgid "Consecutive failures before lockout" +msgstr "Aufeinanderfolgende Falscheingaben bevor gesperrt wird" + +msgid "Failure reset interval" +msgstr "Fehler Resetintervall" + +msgid "Period after which failure count will be reset (seconds)" +msgstr "Nach dieser Zeit wird der Fehlerzähler zurückgesetzt" + +msgid "Lockout duration" +msgstr "Sperrdauer" + +msgid "Period for which lockout is enforced (seconds)" +msgstr "Während dieser Zeit wird der Login gesperrt (Sekunden)" + +msgid "Password Policies" +msgstr "Passwortregeln" + msgid "Group" msgstr "Gruppe" +msgid "Manage password policy for specific group" +msgstr "Passwortregel für eine bestimmte Gruppe bearbeiten" + +msgid "Max lifetime (days)" +msgstr "Max Dauer (Tage)" + +msgid "Maximum password lifetime (in days)" +msgstr "Maximale Passwortlebensdauer (in Tagen)" + +msgid "Min lifetime (hours)" +msgstr "Min Dauer (Stunden)" + +msgid "Minimum password lifetime (in hours)" +msgstr "Minimale Passwortlebensdauer (in Stunden)" + +msgid "History size" +msgstr "Historie" + +msgid "Password history size" +msgstr "Größe der Passworthistorie" + msgid "Character classes" msgstr "Zeichenklassen" +msgid "Minimum number of character classes" +msgstr "Minimale Anzahl an Zeichenklassen" + +msgid "Min length" +msgstr "Min Länge" + +msgid "Minimum length of password" +msgstr "Minimale Passwortlänge" + +msgid "Priority of the policy (higher number means lower priority" +msgstr "Priorität der Regel (höhere Zahl meint niedrigere Priorität)" + +msgid "Maximum password life must be greater than minimum." +msgstr "Maximale Lebensdauer muss größer als das Minimum sein." + +msgid "Add a new group password policy." +msgstr "Neue Gruppen-Passwortregel hinzufügen." + +msgid "Delete a group password policy." +msgstr "Gruppen-Passwortregel löschen." + +msgid "cannot delete global password policy" +msgstr "Die Globale Passwortregel kann nicht gelöscht werden" + +msgid "Modify a group password policy." +msgstr "Gruppen-Passwortregel bearbeiten." + +msgid "priority cannot be set on global policy" +msgstr "Priorität der globalen Regel kann nicht gesetzt werden" + +msgid "Display information about password policy." +msgstr "Informationen über Passwortregel anzeigen." + +msgid "Display effective policy for a specific user" +msgstr "Aktive Passwortregel für einen bestimmten Benutzer anzeigen" + +msgid "Search for group password policies." +msgstr "Suche nach Gruppen-Passwortregeln" + +msgid "role" +msgstr "Rolle" + +msgid "roles" +msgstr "Rollen" + +msgid "Role" +msgstr "Rolle" + +msgid "Role name" +msgstr "Rollenname" + +msgid "A description of this role-group" +msgstr "Beschreibung der Rollengruppe" + +msgid "Add a new role." +msgstr "Neue Rolle hinzufügen." + +#, python-format +msgid "Added role \"%(value)s\"" +msgstr "Rolle \"%(value)s\" hinzugefügt" + +msgid "Delete a role." +msgstr "Rolle löschen." + +#, python-format +msgid "Deleted role \"%(value)s\"" +msgstr "Rolle \"%(value)s\" gelöscht" + +msgid "Modify a role." +msgstr "Rolle ändern." + +#, python-format +msgid "Modified role \"%(value)s\"" +msgstr "Rolle \"%(value)s\" geändert" + +msgid "Search for roles." +msgstr "Nach Rollen suchen." + +#, python-format +msgid "%(count)d role matched" +msgid_plural "%(count)d roles matched" +msgstr[0] "%(count)d Rolle gefunden" +msgstr[1] "%(count)d Rollen gefunden" + +msgid "Display information about a role." +msgstr "Informationen über eine Rolle anzeigen." + +msgid "Add members to a role." +msgstr "Mitglieder zur Rolle hinzufügen." + +msgid "Remove members from a role." +msgstr "Mitglieder von Rolle entfernen." + +msgid "Add privileges to a role." +msgstr "Berechtigungen zur Rolle hinzufügen." + +msgid "Number of privileges added" +msgstr "Anzahl der hinzugefügten Berechtigungen" + +msgid "Remove privileges from a role." +msgstr "Berechtigungen von Rolle entfernen." + +msgid "Number of privileges removed" +msgstr "Anzahl der entfernten Berechtigungen" + +msgid "HBAC Rule that defines the users, groups and hostgroups" +msgstr "HBAC Regel die Benutzer, Gruppen und Hostgruppen definiert" + +#, python-format +msgid "HBAC rule %(rule)s not found" +msgstr "HBAC-Regel %(rule)s nicht gefunden" + +msgid "" +"\n" +"IPA servers\n" +msgstr "" +"\n" +"IPA-Server\n" + +msgid "server" +msgstr "Server" + +msgid "servers" +msgstr "Server" + +msgid "IPA Servers" +msgstr "IPA-Server" + +msgid "IPA server hostname" +msgstr "IPA-Server Hostname" + msgid "service" msgstr "Dienst" @@ -3189,9 +3986,6 @@ msgstr "Dienste" msgid "Service principal" msgstr "Dienst-Principal" -msgid "Add a new IPA new service." -msgstr "Einen neuen IPA-Dienst hinzufügen." - #, python-format msgid "Added service \"%(value)s\"" msgstr "Dienst »%(value)s« hinzugefügt" @@ -3236,12 +4030,78 @@ msgstr "" msgid "Disabled service \"%(value)s\"" msgstr "Dienst »%(value)s« deaktiviert" +msgid "Stage Users" +msgstr "Vorbereitete Benutzer" + +msgid "Stage User" +msgstr "Vorbereiteter Benutzer" + +msgid "stage user" +msgstr "Vorbereiteter Benutzer" + +msgid "stage users" +msgstr "Vorbereitete Benutzer" + +msgid "Add a new stage user." +msgstr "Einen neuen vorbereiteten Benutzer hinzufügen." + +#, python-format +msgid "Added stage user \"%(value)s\"" +msgstr "Vorbereiteten Benutzer »%(value)s« hinzugefügt" + +msgid "Create Stage user in from a delete user" +msgstr "Erstelle vorbereiteten Benutzer aus einem gelöschten Benutzer" + +msgid "givenname is required" +msgstr "givenname wird benötigt" + +msgid "sn is required" +msgstr "sn wird benötigt" + +msgid "Delete a stage user." +msgstr "Einen vorbereiteten Benutzer löschen." + +#, python-format +msgid "Deleted stage user \"%(value)s\"" +msgstr "Vorbereiteten Benutzer \"%(value)s\" gelöscht" + +msgid "Modify a stage user." +msgstr "Einen vorbereiteten Benutzer ändern." + +#, python-format +msgid "Modified stage user \"%(value)s\"" +msgstr "Vorbereiteten Benutzer »%(value)s« geändert" + +msgid "Search for stage users." +msgstr "Nach vorbereiteten Benutzern suchen." + #, 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 stage user." +msgstr "Informationen zu einem vorbereiteten Benutzer anzeigen." + +msgid "Activate a stage user." +msgstr "Vorbereiteten Benutzer aktivieren." + +#, python-format +msgid "Activate a stage user \"%(value)s\"" +msgstr "Vorbereiteten Benutzer \"%(value)s\" aktivieren." + +#, python-format +msgid "active user with name \"%(user)s\" already exists" +msgstr "Aktiver Benutzer mit Name \"%(user)s\" existiert bereits" + +#, python-format +msgid "Stage user %s activated" +msgstr "Vorbereiteten Benutzer %s aktiviert" + +msgid "Add a manager to the stage user entry" +msgstr "Manager zum vorbereiteten Benutzer hinzufügen" + msgid "commands for controlling sudo configuration" msgstr "Befehle zum Steuern der sudo-Konfiguration" @@ -3284,9 +4144,6 @@ msgstr "Sudo-Befehlsgruppen" msgid "Sudo Command Group" msgstr "Sudo-Befehlsgruppe" -msgid "Commands for controlling sudo configuration" -msgstr "Befehle zum Steuern der Sudo-Konfiguration" - msgid "this option has been deprecated." msgstr "Diese Option ist veraltet." @@ -3329,23 +4186,18 @@ msgstr "Sudo-Regel anzeigen." msgid "Enable a Sudo Rule." msgstr "Eine Sudo-Regel aktivieren." -#, python-format -msgid "Enabled Sudo Rule \"%s\"" -msgstr "Sudo-Regel »%s« wurde aktiviert." - msgid "Disable a Sudo Rule." msgstr "Eine Sudo-Regel deaktivieren." -#, python-format -msgid "Disabled Sudo Rule \"%s\"" -msgstr "Sudo-Regel »%s« wurde deaktiviert." - msgid "Realm name" msgstr "Realm-Name" msgid "Account disabled" msgstr "Konto ist deaktiviert" +msgid "Preserved user" +msgstr "Aufbewahrter Benutzer" + msgid "Add a new user." msgstr "Einen neuen Benutzer hinzufügen." @@ -3360,6 +4212,10 @@ msgstr "Einen Benutzer löschen." msgid "Deleted user \"%(value)s\"" msgstr "Benutzer »%(value)s« gelöscht" +#, python-format +msgid "%s: user is already preserved" +msgstr "%s: Benutzer ist bereits aufbewahrt" + msgid "Modify a user." msgstr "Einen Benutzer bearbeiten." @@ -3379,6 +4235,24 @@ msgstr "Benutzer-Datensatz für den aktuellen Kerberos-Principal anzeigen" msgid "Display information about a user." msgstr "Informationen zu einem Benutzer anzeigen." +msgid "Undelete a delete user account." +msgstr "Gelöschten Benutzer wiederherstellen" + +#, python-format +msgid "Undeleted user account \"%(value)s\"" +msgstr "Benutzerkonto \"%(value)s\" wiederhergestellt" + +#, python-format +msgid "user \"%s\" is already active" +msgstr "Benutzer \"%s\" ist bereits aktiv" + +msgid "Move deleted user into staged area" +msgstr "Gelöschten Benutzer in vorbereitete Benutzer verschieben" + +#, python-format +msgid "Staged user account \"%(value)s\"" +msgstr "Vorbereitetes Benutzerkonto \"%(value)s\"" + msgid "Disable a user account." msgstr "Ein Benutzerkonto deaktivieren." @@ -3398,33 +4272,14 @@ msgid "Unlocked account \"%(value)s\"" msgstr "Konto »%(value)s« wurde entsperrt" #, python-format -msgid "Permission denied: %(file)s" -msgstr "Zugriff verweigert: %(file)s" +msgid "Account disabled: %(disabled)s" +msgstr "Konto deaktiviert: %(disabled)s" -msgid "too many '@' characters" -msgstr "Zu viele »@«-Zeichen" - -msgid "cannot be longer that 255 characters" -msgstr "darf nicht länger als 255 Zeichen sein" +msgid "Add a manager to the user entry" +msgstr "Manager zum Benutzer hinzufügen" -msgid "not fully qualified" -msgstr "nicht voll ausgeschrieben" - -msgid "invalid SSH public key" -msgstr "Ungültiger öffentlicher SSH-Schlüssel" - -#, python-format -msgid "objectclass %s not found" -msgstr "objektklasse %s nicht gefunden" - -msgid "The IPA realm" -msgstr "Der IPA-Realm" - -msgid "Hardware platform of the host (e.g. Lenovo T61)" -msgstr "Hardwareplattform des Hosts (z.B. Lenovo T400)" - -msgid "Operating System and version of the host (e.g. Fedora 9)" -msgstr "Betriebssystem und Version des Hosts (z.B. Fedora 20)" +msgid "Remove a manager to the user entry" +msgstr "Manager vom Benutzer entfernen" #, c-format msgid "cannot open configuration file %s\n" @@ -3596,3 +4451,6 @@ msgstr "Zufallsschlüssel konnte nicht erzeugt werden!\n" msgid "Failed to create key!\n" msgstr "Schlüssel konnte nicht erzeugt werden!\n" + +#~ msgid "Reason" +#~ msgstr "Grund" diff --git a/install/po/es.po b/install/po/es.po index 48f4284..1fd4573 100644 --- a/install/po/es.po +++ b/install/po/es.po @@ -12,22 +12,115 @@ # Hugo Jiménez Hernández , 2011 # jdennis , 2011 # Petr Viktorin , 2012 +# Brian Curtich , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\n" +"PO-Revision-Date: 2016-05-20 05:18-0400\n" +"Last-Translator: Brian Curtich \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.7.3\n" +"X-Generator: Zanata 3.8.4\n" + +msgid "Failed to add" +msgstr "Fallo al añadir" + +msgid "Import automount files for a specific location." +msgstr "Importar ficheros de automontaje para una localización específica." + +msgid "Master file" +msgstr " Archivo maestro" + +msgid "Automount master file." +msgstr " Archivo maestro automount." + +msgid "" +"Continuous operation mode. Errors are reported but the process continues." +msgstr "" +" Modo de funcionamiento continuo. Reporta los errores, pero el proceso " +"continúa." + +#, python-format +msgid "File %(file)s not found" +msgstr "No se encontró el archivo %(file)s " + +msgid "Current DNS record contents:\n" +msgstr "Contenidos actuales del registro DNS:\n" + +msgid "" +"Neither --del-all nor options to delete a specific record provided.\n" +"Command help may be consulted for all supported record types." +msgstr "" +"Ni --del-all ni opciones para borrar un registro en concreto ha sido " +"especificado.\n" +"El comando de ayuda puede ser consultado para ver los tipos de registros " +"soportados." + +msgid "No option to delete specific record provided." +msgstr "Ninguna opción para borrar un registro en concreto especificado." + +msgid "Delete all?" +msgstr "¿Borrar todos?" + +msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." +msgstr "" +"El modo de migración se encuentra inhabilitado. Utilice 'ipa config-mod' " +"para habilitarlo." + +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 "" +"Las contraseñas han sido migradas en formato pre-hashed.\n" +"IPA es incapaz de generar claves de Kerberos a menos que le sean\n" +"provistas contraseñas de texto claras. Todos los usuarios migrados\n" +"necesitan registrarse en https://your.domain/ipa/migration/ antes de\n" +"poder utilizar sus respectivas cuentas Kerberos." + +msgid "Password" +msgstr "Contraseña" + +#, python-format +msgid "Enabled Sudo Rule \"%s\"" +msgstr "Regla Sudo Habilitada “%s”" + +#, python-format +msgid "Disabled Sudo Rule \"%s\"" +msgstr "Regla Sudo Deshabilitada “%s”" + +msgid "Data" +msgstr "Datos" + +msgid "Failed members" +msgstr "Miembros fallidos" + +msgid "Failed source hosts/hostgroups" +msgstr "Fallada fuente hosts/grupos de hosts" + +msgid "Failed hosts/hostgroups" +msgstr "Falló host/hostgroups" + +msgid "Failed users/groups" +msgstr "Falló usuarios/grupos" + +msgid "Failed service/service groups" +msgstr "Fallado servicio/servicio grupos" + +msgid "Failed to remove" +msgstr "No se ha podido quitar" + +msgid "Failed managedby" +msgstr "Falló managedby" #, python-format msgid "Enter %(label)s again to verify: " @@ -43,6 +136,9 @@ msgstr "No se encontraron entradas coincidentes" msgid "Topic commands:" msgstr "Tema comandos:" +msgid "To get command help, use:" +msgstr "Para obtener ayuda sobre el comando, utilice:" + msgid "Command name" msgstr "Nombre del comando" @@ -60,6 +156,14 @@ msgid "an internal error has occurred" msgstr "ha ocurrido un error interno" #, python-format +msgid "unknown command '%(name)s'" +msgstr "comando desconocido '%(name)s'" + +#, python-format +msgid "cannot connect to '%(uri)s': %(error)s" +msgstr "no se pudo conectar a '%(uri)s': %(error)s" + +#, python-format msgid "Invalid JSON-RPC request: %(error)s" msgstr "Petición JSON-RPC no válida: %(error)s" @@ -78,6 +182,11 @@ msgstr "Error de kerberos: %(major)s/%(minor)s" msgid "did not receive Kerberos credentials" msgstr "no se ha recibido ninguna credencial de Kerberos" +#, python-format +msgid "Service '%(service)s' not found in Kerberos database" +msgstr "" +"El servicio '%(service)s' no se encontró en la base de datos de Kerberos" + msgid "No credentials cache found" msgstr "No se han encontrado credenciales de cache" @@ -100,6 +209,10 @@ msgstr "Error de sesión" msgid "Insufficient access: %(info)s" msgstr "Acceso insuficiente: %(info)s" +#, python-format +msgid "invalid '%(name)s': %(error)s" +msgstr "'%(name)s' inválido: %(error)s" + msgid "Passwords do not match" msgstr "Las contraseñas no coinciden" @@ -205,6 +318,9 @@ msgstr "" "El criterio de búsqueda no fue bastante específico. Se esperaba 1 y se " "encontró %(found)d." +msgid "This group already allows external members" +msgstr "Este grupo ya acepta miembros externos" + msgid "change collided with another change" msgstr "la modificación choca con otra modificación diferente" @@ -261,6 +377,10 @@ msgstr "" "Los resultados se encuentran truncados, intente realizar una búsqueda más " "específica" +#, python-format +msgid "Unknown option: %(option)s" +msgstr "Opción desconocida: %(option)s" + msgid "" "Retrieve and print all attributes from the server. Affects command output." msgstr "" @@ -374,6 +494,44 @@ msgstr "debe tener exactamente %(length)d caracteres" msgid "must be '%(value)s'" msgstr "debe ser «%(value)s»" +#, python-format +msgid "Permission denied: %(file)s" +msgstr "Permiso denegado:%(file)s " + +msgid "too many '@' characters" +msgstr "demasiados ‘@’ caracteres" + +msgid "cannot be longer that 255 characters" +msgstr "no puede ser más larga de 255 caracteres" + +msgid "invalid SSH public key" +msgstr "clave SSH pública no válida" + +#, python-format +msgid "invalid domain-name: %s" +msgstr "nombre de dominio no válido: %s" + +msgid "invalid IP address format" +msgstr "formato no válido de dirección IP" + +#, python-format +msgid "%(port)s is not a valid port" +msgstr "%(port)s no es un puerto válido" + +#, python-format +msgid "Retrieving CA status failed: %s" +msgstr "Falló la obtención del estado de CA: %s" + +#, python-format +msgid "objectclass %s not found" +msgstr "clase objeto %s no encontrada" + +msgid "domain is not configured" +msgstr "el dominio no está configurado" + +msgid "SID is not valid" +msgstr "el SID no es válido" + msgid "A list of ACI values" msgstr "Una lista de valores ACI" @@ -579,9 +737,6 @@ msgstr "" " Añadir condiciones a una regla automiembro.\n" " " -msgid "Failed to add" -msgstr "Fallo al añadir" - #, python-format msgid "Added condition(s) to \"%(value)s\"" msgstr "Añadida condición(es) a \"%(value)s\"" @@ -738,25 +893,6 @@ msgstr[1] "%(count)d localizaciones de automontaje coincidentes" msgid "Generate automount files for a specific location." msgstr "Generar ficheros de automontaje para una localización específica." -msgid "Import automount files for a specific location." -msgstr "Importar ficheros de automontaje para una localización específica." - -msgid "Master file" -msgstr " Archivo maestro" - -msgid "Automount master file." -msgstr " Archivo maestro automount." - -msgid "" -"Continuous operation mode. Errors are reported but the process continues." -msgstr "" -" Modo de funcionamiento continuo. Reporta los errores, pero el proceso " -"continúa." - -#, python-format -msgid "File %(file)s not found" -msgstr "No se encontró el archivo %(file)s " - msgid "automount map" msgstr "mapa de automontaje" @@ -912,12 +1048,6 @@ msgstr[1] "%(count)d claves de automontaje coincidentes" msgid "Display an automount key." msgstr "Mostrar una clave de automontaje." -msgid "Password" -msgstr "Contraseña" - -msgid "Failed members" -msgstr "Miembros fallidos" - msgid "Member users" msgstr "Usuarios miembros" @@ -1047,21 +1177,6 @@ msgstr "Grupo de servicio HBAC de miembros indirectos " msgid "Indirect Member netgroups" msgstr "Miembros indirectos netgroups" -msgid "Failed source hosts/hostgroups" -msgstr "Fallada fuente hosts/grupos de hosts" - -msgid "Failed hosts/hostgroups" -msgstr "Falló host/hostgroups" - -msgid "Failed users/groups" -msgstr "Falló usuarios/grupos" - -msgid "Failed service/service groups" -msgstr "Fallado servicio/servicio grupos" - -msgid "Failed to remove" -msgstr "No se ha podido quitar" - msgid "External host" msgstr "Equipo externo" @@ -1174,15 +1289,9 @@ msgstr "" msgid "Time Limit" msgstr "Tiempo límite" -msgid "Time limit of search in seconds" -msgstr "Tiempo máximo de búsqueda en segundos" - msgid "Size Limit" 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" @@ -1289,9 +1398,6 @@ 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" @@ -1303,6 +1409,9 @@ msgstr "puede ser a lo sumo%(len)d caracteres" msgid "Nested Methods to execute" msgstr "Métodos anidados para ejecutar" +msgid "Name" +msgstr "Nombre" + msgid "Enabled" msgstr "Habilitado" @@ -1330,18 +1439,6 @@ msgstr "" "Falla al intentar decodificar la petición de identificación de certificado: " "%s" -msgid "Submit a certificate signing request." -msgstr "Enviar una petición de firma de certificado." - -msgid "CSR" -msgstr "CSR" - -msgid "Principal" -msgstr "Principal" - -msgid "automatically add the principal if it doesn't exist" -msgstr "si no existe, agregar automáticamente el principal" - msgid "Subject" msgstr "Asunto" @@ -1363,30 +1460,45 @@ msgstr "Huella digital (SHA1)" msgid "Serial number" msgstr "Número de serie" +msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" +msgstr "Número de serie en decimales, o hexadecimales, si tiene un prefijo 0x" + msgid "Serial number (hex)" msgstr "N.º de serie (hex.)" -msgid "Dictionary mapping variable name to value" -msgstr "Nombre de la variable de mapeo de dicionario a valorizar " - -msgid "Check the status of a certificate signing request." -msgstr "Verificar el estado de una solicitud de firma de certificado." +msgid "Request status" +msgstr "Estado de la petición" msgid "Request id" msgstr "Id de la petición" -msgid "Request status" -msgstr "Estado de la petición" +msgid "Submit a certificate signing request." +msgstr "Enviar una petición de firma de certificado." -msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" -msgstr "Número de serie en decimales, o hexadecimales, si tiene un prefijo 0x" +msgid "CSR" +msgstr "CSR" -msgid "Retrieve an existing certificate." -msgstr "Recuperar un certificado existente." +msgid "Principal" +msgstr "Principal" + +msgid "automatically add the principal if it doesn't exist" +msgstr "si no existe, agregar automáticamente el principal" + +msgid "Check the status of a certificate signing request." +msgstr "Verificar el estado de una solicitud de firma de certificado." + +msgid "Status" +msgstr "Estatus" + +msgid "Revoked" +msgstr "Revocado" msgid "Revocation reason" msgstr "Motivo de la revocación" +msgid "Retrieve an existing certificate." +msgstr "Recuperar un certificado existente." + msgid "Output filename" msgstr "Nombre de archivo de salida" @@ -1396,15 +1508,6 @@ msgstr "Archivo para almacenar el certificado" msgid "Revoke a certificate." msgstr "Revocar un certificado." -msgid "Revoked" -msgstr "Revocado" - -msgid "Reason" -msgstr "Motivo" - -msgid "Reason for revoking the certificate (0-10)" -msgstr "Motivo por el cual el certificado ha sido revocado (0-10)" - msgid "7 is not a valid revocation reason" msgstr "7 no es una razón válida de revocación" @@ -1417,12 +1520,6 @@ msgstr "No revocado" msgid "Error" msgstr "Error" -msgid "Status" -msgstr "Estatus" - -msgid "searchtimelimit must be -1 or > 1." -msgstr "searchtimelimit debe ser -1 o> 1." - msgid "configuration options" msgstr "opciones de configuración" @@ -1456,18 +1553,9 @@ msgstr "Dominio de correo electrónico por defecto" msgid "Search time limit" msgstr "Buscar límite de tiempo" -msgid "" -"Maximum amount of time (seconds) for a search (> 0, or -1 for unlimited)" -msgstr "" -"Máxima cantidad de tiempo (segundos) parab una búsqueda (> 0, o -1 para " -"ilimitado)" - msgid "Search size limit" msgstr "Límite del tamaño de la búsqueda" -msgid "Maximum number of records to search (-1 is unlimited)" -msgstr "Máximo número de registros a buscar (-1 es ilimitado)" - msgid "User search fields" msgstr "Campos de búsqueda de usuario" @@ -1584,9 +1672,6 @@ msgstr[1] "%(count)d delegaciones coincidentes" msgid "Display information about a delegation." msgstr "Mostrar información sobre una delegación." -msgid "invalid IP address format" -msgstr "formato no válido de dirección IP" - msgid "invalid IP network format" msgstr "formato no válido de red IP" @@ -1594,14 +1679,6 @@ msgid "invalid address format" msgstr "formato de dirección no válido" #, python-format -msgid "%(port)s is not a valid port" -msgstr "%(port)s no es un puerto válido" - -#, python-format -msgid "DNS reverse zone for IP address %(addr)s not found" -msgstr "Zona invertida DNS para dirección IP %(addr)s no encontrada" - -#, python-format msgid "DNS zone %(zone)s not found" msgstr "Zona DNS %(zone)s no encontrado" @@ -1832,15 +1909,15 @@ msgstr "Permitir transferencia" msgid "Create new DNS zone (SOA record)." msgstr "Crear nueva zona DNS (registro SOA)." -msgid "Force" -msgstr "Forzar" - msgid "Delete DNS zone (SOA record)." msgstr "Borrar zona DNS (registro SOA)." msgid "Modify DNS zone (SOA record)." msgstr "Modificar zona DNS (registro SOA)." +msgid "Force" +msgstr "Forzar" + msgid "Forward zones only" msgstr "Zonas de reenvío sólo" @@ -1899,9 +1976,6 @@ msgstr "Forzar la creación del registro DNS, aunque su nombre no sea absoluto" msgid "Modify a DNS resource record." msgstr "Modificar un registro de recurso DNS." -msgid "Current DNS record contents:\n" -msgstr "Contenidos actuales del registro DNS:\n" - #, python-format msgid "Deleted record \"%(value)s\"" msgstr "Registro eliminado \"%(value)s\"" @@ -1909,15 +1983,6 @@ msgstr "Registro eliminado \"%(value)s\"" msgid "Delete DNS resource record." msgstr "Borrar un registro de recurso DNS." -msgid "" -"Neither --del-all nor options to delete a specific record provided.\n" -"Command help may be consulted for all supported record types." -msgstr "" -"Ni --del-all ni opciones para borrar un registro en concreto ha sido " -"especificado.\n" -"El comando de ayuda puede ser consultado para ver los tipos de registros " -"soportados." - msgid "Delete all associated records" msgstr "Eliminar todos los registros asociados" @@ -1925,21 +1990,12 @@ msgstr "Eliminar todos los registros asociados" msgid "Zone record '%s' cannot be deleted" msgstr "No se puede eliminar el registro de zona «%s»" -msgid "No option to delete specific record provided." -msgstr "Ninguna opción para borrar un registro en concreto especificado." - -msgid "Delete all?" -msgstr "¿Borrar todos?" - msgid "Display DNS resource." msgstr "Mostrar un recurso DNS." msgid "Search for DNS resources." msgstr "Buscar recursos DNS." -msgid "Resolve a host name in DNS." -msgstr "Resolver un nombre de host en DNS." - #, python-format msgid "Found '%(value)s'" msgstr "Ha sido encontrado '%(value)s'" @@ -2190,9 +2246,6 @@ msgstr "" " ipa hbacsvc-del tftp\n" "\n" -msgid "Host based access control commands" -msgstr "Comandos de control de acceso basado en host" - msgid "HBAC service" msgstr "Servicio HBAC" @@ -2356,13 +2409,6 @@ msgstr "Número de serie" msgid "Serial Number (hex)" msgstr "N.º de serie (hex.)" -msgid "Failed managedby" -msgstr "Falló managedby" - -#, python-format -msgid "invalid domain-name: %s" -msgstr "nombre de dominio no válido: %s" - msgid "host" msgstr "host" @@ -2443,9 +2489,6 @@ msgstr "Borrar un host." msgid "Deleted host \"%(value)s\"" msgstr "Ha sido eliminado el equipo \"%(value)s\"" -msgid "Remove entries from DNS" -msgstr "Eliminar entradas de DNS" - msgid "Modify information about a host." msgstr "Modificar información sobre un host." @@ -2888,6 +2931,27 @@ msgstr "Directo" msgid "Indirect" msgstr "Indirecto" +msgid "Any Host" +msgstr "Cualquier host" + +msgid "Any Service" +msgstr "Cualquier servicio" + +msgid "Anyone" +msgstr "Cualquiera" + +msgid "Rule status" +msgstr "Estatus de reglas" + +msgid "Specified Hosts and Groups" +msgstr "Hosts y grupos especificados" + +msgid "Specified Services and Groups" +msgstr "Servicios y grupos especificados" + +msgid "Specified Users and Groups" +msgstr "Usuarios y grupos específicos" + msgid "AA Compromise" msgstr "AA transacción" @@ -2959,20 +3023,6 @@ msgid "Remove from CRL" msgstr "Borrar de CRL" #, python-brace-format -msgid "Restore Certificate for ${entity} ${primary_key}" -msgstr "Restablecer Certificado para ${entity} ${primary_key}" - -msgid "Restore Certificate" -msgstr "Restaurar certificado" - -msgid "" -"To confirm your intention to restore this certificate, click the \"Restore\" " -"button." -msgstr "" -"Para confirmar su intención de restaurar este certificado, haga clic en el " -"botón \"Restaurar\"." - -#, python-brace-format msgid "Revoke Certificate for ${entity} ${primary_key}" msgstr "Revocar certificado por ${entity} ${primary_key}" @@ -3020,9 +3070,6 @@ msgstr "Opciones de Usuario" msgid "Options" msgstr "Opciones" -msgid "Data" -msgstr "Datos" - msgid "DNS record was deleted because it contained no data." msgstr "Registro DNS fue borrado porque no contenía datos." @@ -3071,33 +3118,12 @@ msgstr "POSIX" msgid "Group Type" msgstr "Tipo de grupo" -msgid "Any Host" -msgstr "Cualquier host" - -msgid "Any Service" -msgstr "Cualquier servicio" - -msgid "Anyone" -msgstr "Cualquiera" - msgid "Accessing" msgstr "Acceso" -msgid "Rule status" -msgstr "Estatus de reglas" - msgid "Via Service" msgstr "Vía de servicio" -msgid "Specified Hosts and Groups" -msgstr "Hosts y grupos especificados" - -msgid "Specified Services and Groups" -msgstr "Servicios y grupos especificados" - -msgid "Specified Users and Groups" -msgstr "Usuarios y grupos específicos" - msgid "Who" msgstr "¿Quién?" @@ -3429,6 +3455,18 @@ msgstr "Valor no admitido" msgid "Dict of I18N messages" msgstr "Dictado de los mensajes regionales" +msgid "The hostname to register as" +msgstr "El nombre del equipo a ser registrado como" + +msgid "The IPA realm" +msgstr "El reinado IPA" + +msgid "Hardware platform of the host (e.g. Lenovo T61)" +msgstr "Plataforma de hardware del equipo (p. ej. Lenovo T61)" + +msgid "Operating System and version of the host (e.g. Fedora 9)" +msgstr "Sistema operativo que utiliza el equipo y versión (p.ej. Fedora 9)" + msgid "" "\n" "Kerberos ticket policy\n" @@ -3643,24 +3681,6 @@ msgstr "" "los resultados de la búsqueda de los objetos que se van a migrar se han " "truncado por el servidor; el proceso de migración puede estar incompleto\n" -msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." -msgstr "" -"El modo de migración se encuentra inhabilitado. Utilice 'ipa config-mod' " -"para habilitarlo." - -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 "" -"Las contraseñas han sido migradas en formato pre-hashed.\n" -"IPA es incapaz de generar claves de Kerberos a menos que le sean\n" -"provistas contraseñas de texto claras. Todos los usuarios migrados\n" -"necesitan registrarse en https://your.domain/ipa/migration/ antes de\n" -"poder utilizar sus respectivas cuentas Kerberos." - msgid "" "\n" "Misc plug-ins\n" @@ -3683,6 +3703,9 @@ msgstr "" " no lo es.\n" " Devolver el resultado si se trata de un autoservicio de ACI." +msgid "Dictionary mapping variable name to value" +msgstr "Nombre de la variable de mapeo de dicionario a valorizar " + msgid "Total number of variables env (>= count)" msgstr "Cantidad total de variables env (>= count)" @@ -4341,9 +4364,6 @@ msgstr " Búsqueda de servicios IPA" msgid "PAC type" msgstr "Tipo PAC" -msgid "Add a new IPA new service." -msgstr "Añadir un nuevo servicio nuevo IPA." - #, python-format msgid "Added service \"%(value)s\"" msgstr "Ha sido agregado el servicio \"%(value)s\"" @@ -4396,6 +4416,9 @@ msgid_plural "%(count)d users matched" msgstr[0] "%(count)d usuario coincidente" msgstr[1] "%(count)d usuarios coincidentes" +msgid "commands for controlling sudo configuration" +msgstr "comandos para controlar la configuración sudo" + msgid "" "\n" "Sudo Commands\n" @@ -4425,9 +4448,6 @@ msgstr "" " ipa sudocmd-del /usr/bin/less\n" "\n" -msgid "commands for controlling sudo configuration" -msgstr "comandos para controlar la configuración sudo" - msgid "sudo command" msgstr "comando sudo" @@ -4524,9 +4544,6 @@ msgstr "Añadir miembros a Grupo de Comando Sudo." msgid "Remove members from Sudo Command Group." msgstr "Quitar miembros de un Grupo de Comando Sudo." -msgid "Commands for controlling sudo configuration" -msgstr "Comandos para controlar la configuración sudo" - msgid "this option has been deprecated." msgstr "esta opción ha quedado obsoleta." @@ -4653,17 +4670,9 @@ msgstr "Mostrar Regla Sudo." msgid "Enable a Sudo Rule." msgstr "Habilitar Regla Sudo." -#, python-format -msgid "Enabled Sudo Rule \"%s\"" -msgstr "Regla Sudo Habilitada “%s”" - msgid "Disable a Sudo Rule." msgstr "Deshabilitar Regla Sudo." -#, python-format -msgid "Disabled Sudo Rule \"%s\"" -msgstr "Regla Sudo Deshabilitada “%s”" - msgid "Add commands and sudo command groups affected by Sudo Rule." msgstr "Añadir comandos y grupos de comando sudo afectados por Regla Sudo." @@ -4716,9 +4725,6 @@ msgstr "solo se admite «ad»" msgid "range exists" msgstr "el intervalo existe" -msgid "Name" -msgstr "Nombre" - msgid "SID" msgstr "SID" @@ -4799,53 +4805,6 @@ msgstr "" msgid "Unlocked account \"%(value)s\"" msgstr "Cuenta desbloqueada \" %(value)s \"" -#, python-format -msgid "Permission denied: %(file)s" -msgstr "Permiso denegado:%(file)s " - -msgid "too many '@' characters" -msgstr "demasiados ‘@’ caracteres" - -msgid "cannot be longer that 255 characters" -msgstr "no puede ser más larga de 255 caracteres" - -msgid "invalid SSH public key" -msgstr "clave SSH pública no válida" - -#, python-format -msgid "Issuer \"%(issuer)s\" does not match the expected issuer" -msgstr "Emisor \"%(issuer)s\" no coincide con el emisor esperado " - -#, python-format -msgid "Retrieving CA status failed: %s" -msgstr "Falló la obtención del estado de CA: %s" - -#, python-format -msgid "objectclass %s not found" -msgstr "clase objeto %s no encontrada" - -msgid "domain is not configured" -msgstr "el dominio no está configurado" - -msgid "SID is not valid" -msgstr "el SID no es válido" - -#, python-format -msgid "Unable to communicate with CMS (%s)" -msgstr "No es posible comunicarse con CMS (%s)" - -msgid "The hostname to register as" -msgstr "El nombre del equipo a ser registrado como" - -msgid "The IPA realm" -msgstr "El reinado IPA" - -msgid "Hardware platform of the host (e.g. Lenovo T61)" -msgstr "Plataforma de hardware del equipo (p. ej. Lenovo T61)" - -msgid "Operating System and version of the host (e.g. Fedora 9)" -msgstr "Sistema operativo que utiliza el equipo y versión (p.ej. Fedora 9)" - #, c-format msgid "cannot open configuration file %s\n" msgstr "no se puede abrir archivo de configuración %s\\n\n" @@ -5275,3 +5234,6 @@ msgstr "Falló la creación de clave aleatoria\n" msgid "Failed to create key!\n" msgstr "¡Falló la creación de clave!\n" + +#~ msgid "Reason" +#~ msgstr "Motivo" diff --git a/install/po/eu.po b/install/po/eu.po index f57997e..8940318 100644 --- a/install/po/eu.po +++ b/install/po/eu.po @@ -7,19 +7,24 @@ msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\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.7.3\n" +"X-Generator: Zanata 3.8.4\n" + +msgid "Password" +msgstr "Pasahitza" + +msgid "Data" +msgstr "Datuak" #, c-format msgid "Passwords do not match!" @@ -57,6 +62,9 @@ msgstr "%(desc)s: %(info)s" msgid "%(info)s" msgstr "%(info)s" +msgid "invalid IP address format" +msgstr "IP helbide formatu baliogabea" + msgid "A list of ACI values" msgstr "ACI balioen zerrenda bat" @@ -115,9 +123,6 @@ msgstr "Ostalariak" msgid "description" msgstr "deskribapena" -msgid "Password" -msgstr "Pasahitza" - msgid "External host" msgstr "Kanpoko ostalaria" @@ -206,18 +211,15 @@ msgstr "Hatz-marka (SHA1)" msgid "Serial number" msgstr "Serie-zenbakia" +msgid "Status" +msgstr "Egoera" + msgid "Output filename" msgstr "Irteerako fitxategi-izena" -msgid "Reason" -msgstr "Arrazoia" - msgid "Error" msgstr "Errorea" -msgid "Status" -msgstr "Egoera" - msgid "Configuration" msgstr "Konfigurazioa" @@ -248,9 +250,6 @@ msgstr "E-posta domeinu lehenetsia" msgid "The group doesn't exist" msgstr "Taldea ez da existitzen" -msgid "invalid IP address format" -msgstr "IP helbide formatu baliogabea" - msgid "invalid IP network format" msgstr "IP sare formatu baliogabea" @@ -417,9 +416,6 @@ msgstr "Erakundea" msgid "SHA1 Fingerprint" msgstr "SHA1 hatz-marka" -msgid "Data" -msgstr "Datuak" - msgid "Group Settings" msgstr "Taldearen ezarpenak" @@ -552,3 +548,6 @@ msgstr "fitxategi-izena" msgid "password" msgstr "pasahitza" + +#~ msgid "Reason" +#~ msgstr "Arrazoia" diff --git a/install/po/fr.po b/install/po/fr.po index cefe287..edc2b05 100644 --- a/install/po/fr.po +++ b/install/po/fr.po @@ -13,637 +13,1519 @@ # Petr Viktorin , 2013-2014 # Jérôme Fenal , 2015. #zanata # dominique , 2015. #zanata +# Jérôme Fenal , 2016. #zanata +# Martin Bašti , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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-10-11 03:04-0400\n" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\n" +"PO-Revision-Date: 2016-06-20 10:45-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" +"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.7.3\n" - -#, python-format -msgid "Enter %(label)s again to verify: " -msgstr "Entrer à nouveau %(label)s pour validation :" - -#, c-format -msgid "Passwords do not match!" -msgstr "Les mots de passe ne correspondent pas !" - -msgid "No matching entries found" -msgstr "Aucune entrée correspondante trouvée" - -msgid "Topic or Command" -msgstr "Thème ou commande" - -msgid "The topic or command name." -msgstr "Le nom du thème ou de la commande." - -msgid "Topic commands:" -msgstr "Commandes du thème :" - -msgid "To get command help, use:" -msgstr "Pour obtenir de l'aide, utiliser :" - -msgid " ipa --help" -msgstr " ipa --help" +"X-Generator: Zanata 3.8.4\n" -msgid "Command name" -msgstr "Nom de commande" +msgid "Failed to add" +msgstr "Échec lors de l'ajout" -msgid "Positional arguments" -msgstr "Arguments positionnels" +msgid "maps not connected to /etc/auto.master:" +msgstr "cartes non connectées à « /etc/auto.master » :" -#, python-format -msgid "Same as --%s" -msgstr "Identique à --%s" +msgid "Import automount files for a specific location." +msgstr "Importer des fichiers « automount » pour un emplacement donné." -msgid "Deprecated options" -msgstr "Options obsolètes" +msgid "Master file" +msgstr "Fichier maître" -msgid "No file to read" -msgstr "Pas de fichier à lire" +msgid "Automount master file." +msgstr "Fichier maître « automount »" -msgid "A string searched in all relevant object attributes" +msgid "" +"Continuous operation mode. Errors are reported but the process continues." msgstr "" -"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 le serveur %(sver)s à « %(server)s »" +"Mode opératoire continu. Les erreurs sont notées, mais le processus continue." #, python-format -msgid "unknown error %(code)d from %(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" +msgid "File %(file)s not found" +msgstr "Fichier %(file)s introuvable" #, python-format -msgid "an internal error has occurred on server at '%(server)s'" -msgstr "une erreur interne est survenue sur le serveur à « %(server)s »" +msgid "key %(key)s already exists" +msgstr "La clé %(key)s existe déjà" #, python-format -msgid "unknown command '%(name)s'" -msgstr "commande « %(name)s » inconnue" +msgid "map %(map)s already exists" +msgstr "La carte %(map)s existe déjà" -#, python-format -msgid "error on server '%(server)s': %(error)s" -msgstr "erreur sur le serveur « %(server)s » : %(error)s" +msgid "Imported maps:" +msgstr "Cartes importées :" #, python-format -msgid "cannot connect to '%(uri)s': %(error)s" -msgstr "impossible de se connecter à « %(uri)s » : %(error)s" +msgid "Added %(map)s" +msgstr " %(map)s ajoutée" -#, python-format -msgid "Invalid JSON-RPC request: %(error)s" -msgstr "Requête JSON-RPC invalide : %(error)s" +msgid "Imported keys:" +msgstr "Clés importées :" #, python-format -msgid "error marshalling data for XML-RPC transport: %(error)s" -msgstr "erreur de conversion des données lors du transport XML-RPC : %(error)s" +msgid "Added %(src)s to %(dst)s" +msgstr "Ajout de %(src)s à %(dst)s" -#, python-format -msgid "Missing or invalid HTTP Referer, %(referer)s" -msgstr "Référence HTTP manquante ou invalide, %(referer)s" +msgid "Ignored keys:" +msgstr "Clés ignorées :" #, python-format -msgid "Kerberos error: %(major)s/%(minor)s" -msgstr "Erreur Kerberos : %(major)s/%(minor)s" +msgid "Ignored %(src)s to %(dst)s" +msgstr "%(src)s ignoré pour %(dst)s" -msgid "did not receive Kerberos credentials" -msgstr "Justificatifs Kerberos non reçus" +msgid "Duplicate maps skipped:" +msgstr "Cartes dupliquées ignorées :" #, 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 des justificatifs d'identité introuvable" - -msgid "Ticket expired" -msgstr "Ticket périmé" - -msgid "Credentials cache permissions incorrect" -msgstr "Droits d'accès incorrects au cache des justificatifs d'identité" - -msgid "Bad format in credentials cache" -msgstr "Mauvais format de cache des justificatifs d'identité" - -msgid "Cannot resolve KDC for requested realm" -msgstr "Impossible de résoudre le KDC pour le domaine demandé" +msgid "Skipped %(map)s" +msgstr "%(map)s ignoré" -msgid "Session error" -msgstr "Erreur de session" +msgid "Duplicate keys skipped:" +msgstr "Clés dupliquées ignorées :" #, python-format -msgid "Principal %(principal)s cannot be authenticated: %(message)s" -msgstr "Le principal %(principal)s n'a pas pu être authentifié : %(message)s" +msgid "Skipped %(key)s" +msgstr "%(key)s ignoré" #, python-format -msgid "Insufficient access: %(info)s" -msgstr "Accès insuffisant : %(info)s" +msgid "Profile configuration stored in file '%(file)s'" +msgstr "Profil de configuration enregistré dans le fichier « %(file)s »" -#, python-format -msgid "command '%(name)s' takes no arguments" -msgstr "la commande « %(name)s » ne prend pas d'argument" +msgid "Please choose a type of DNS resource record to be added" +msgstr "Veuillez choisir un type d'enregistrement de ressource DNS à ajouter" #, 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] "la commande « %(name)s » prend au plus %(count)d argument" -msgstr[1] "la commande « %(name)s » prend au plus %(count)d arguments" +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" -#, python-format -msgid "overlapping arguments and options: %(names)s" -msgstr "les arguments et options se chevauchent : %(names)s" +msgid "DNS resource record type" +msgstr "Type d'enregistrement de ressource DNS" #, python-format -msgid "'%(name)s' is required" -msgstr "« %(name)s » est requis" +msgid "Invalid or unsupported type. Allowed values are: %s" +msgstr "Type invalide ou non pris en compte. Les valeurs autorisées sont : %s" + +msgid "No option to modify specific record provided." +msgstr "Aucune option fournie pour modifier un enregistrement donné." + +msgid "Current DNS record contents:\n" +msgstr "Contenu actuel de l'enregistrement DNS :\n" #, python-format -msgid "invalid '%(name)s': %(error)s" -msgstr "« %(name)s » invalide : %(error)s" +msgid "Modify %(name)s '%(value)s'?" +msgstr "Modifier '%(value)s' pour %(name)s ?" #, python-format -msgid "api has no such namespace: '%(name)s'" -msgstr "l'API n'a pas un tel espace de noms : « %(name)s »" +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] "" +"%(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 modifiable par " +"enregistrement DNS." -msgid "Passwords do not match" -msgstr "Les mots de passe ne correspondent pas" +msgid "" +"Neither --del-all nor options to delete a specific record provided.\n" +"Command help may be consulted for all supported record types." +msgstr "" +"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 "Command not implemented" -msgstr "Commande non implémentée" +msgid "No option to delete specific record provided." +msgstr "Pas d'option fournie pour supprimer un enregistrement donné." -msgid "Client is not configured. Run ipa-client-install." -msgstr "Le client n'est pas configuré. Lancer « ipa-client-install »." +msgid "Delete all?" +msgstr "Tout supprimer ?" #, python-format -msgid "Could not get %(name)s interactively" -msgstr "Impossible d'obtenir %(name)s de façon interactive" +msgid "Delete %(name)s '%(value)s'?" +msgstr "Supprimer '%(value)s' pour %(name)s ?" -#, python-format -msgid "Command '%(name)s' has been deprecated" -msgstr "La commande « %(name)s » a été abandonnée." +msgid "Server will check DNS forwarder(s)." +msgstr "Le serveur vérifiera le ou les serveurs de redirection DNS." -#, 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 »" +msgid "This may take some time, please wait ..." +msgstr "Cela peut prendre un peu de temps, veuillez patienter..." #, python-format -msgid "%(reason)s" -msgstr "%(reason)s" +msgid "Certificate(s) stored in file '%(file)s'" +msgstr "Certificat(s) enregistré(s) dans le fichier '%(file)s'" -msgid "This entry already exists" -msgstr "Cette entrée existe déjà" +msgid "Servers details:" +msgstr "Informations sur les serveurs :" -msgid "You must enroll a host in order to create a host service" -msgstr "Vous devez enregistrer un hôte afin de créer un service" +msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." +msgstr "" +"Mode migration désactivé. Utiliser la commande « ipa config-mod » pour " +"l'activer." -#, python-format msgid "" -"Service principal is not of the form: service/fully-qualified host name: " -"%(reason)s" +"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 "" -"Le principal de service n'est pas de la forme : service/fully-qualified host " -"name: %(reason)s" +"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" +"avant de pouvoir utiliser leur compte Kerberos." msgid "" -"The realm for the principal does not match the realm for this IPA server" -msgstr "Le domaine du principal ne correspond pas au domaine de ce serveur IPA" +"Unable to display QR code using the configured output encoding. Please use " +"the token URI to configure your OTP device" +msgstr "" +"Impossible d'afficher le code QR avec l'encodage configuré sur la sortie. " +"Merci d'utiliser l'URI du jeton pour configurer votre jeton OTP" -msgid "This command requires root access" -msgstr "Cette commande requiert un accès administrateur" +msgid "" +"QR code width is greater than that of the output tty. Please resize your " +"terminal." +msgstr "" +"La largeur du code QR est supérieure à celle du terminal. Merci d'agrandir " +"votre fenêtre de terminal." -msgid "This is already a posix group" -msgstr "Ce groupe est déjà de type POSIX" +msgid "Synchronize an OTP token." +msgstr "Synchroniser un jeton OTP." -#, python-format -msgid "Principal is not of the form user@REALM: '%(principal)s'" -msgstr "Le principal n'est pas de la forme user@REALM : « %(principal)s »" +msgid "User ID" +msgstr "Identifiant utilisateur" -msgid "This entry is already enabled" -msgstr "Cette entrée est déjà activée" +msgid "Password" +msgstr "Mot de passe" -msgid "This entry is already disabled" -msgstr "Cette entrée est déjà désactivée" +msgid "First Code" +msgstr "Premier code" -msgid "This entry cannot be enabled or disabled" -msgstr "Cette entrée ne peut être activée ou désactivée" +msgid "Second Code" +msgstr "Second code" -msgid "This entry is not a member" -msgstr "Cette entrée n'est pas un membre" +msgid "Token ID" +msgstr "ID du jeton" -msgid "A group may not be a member of itself" -msgstr "Un groupe ne peut être membre de lui-même" - -msgid "This entry is already a member" -msgstr "Cette entrée est déjà membre" - -#, python-format -msgid "Base64 decoding failed: %(reason)s" -msgstr "Échec du décodage « base64 » : %(reason)s" +msgid "" +"\n" +"YubiKey Tokens\n" +msgstr "" +"\n" +"Jetons YubiKey\n" -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" +msgid "" +"\n" +"Manage YubiKey tokens.\n" +msgstr "" +"\n" +"Gestion de jetons YubiKey.\n" -msgid "The default users group cannot be removed" -msgstr "Le groupe par défaut ne peut être supprimé" +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 "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 "" +"\n" +"EXAMPLES:\n" +msgstr "" +"\n" +"EXEMPLES :\n" -msgid "Deleting a managed group is not allowed. It must be detached first." +msgid "" +"\n" +" Add a new token:\n" +" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" msgstr "" -"La suppression d'un groupe géré est interdite. Il doit d'abord être détaché." +"\n" +" Ajouter un nouveau jeton :\n" +" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" -msgid "A managed group cannot have a password policy." -msgstr "Un groupe géré ne peut pas avoir de politique de mot de passe." +msgid "Add a new YubiKey OTP token." +msgstr "Ajouter un nouveau jeton OTP YubiKey." -#, python-format -msgid "'%(entry)s' doesn't have a certificate." -msgstr "'%(entry)s' ne possède pas de certificat." +msgid "YubiKey slot" +msgstr "Connecteur YubiKey" + +msgid "No free YubiKey slot!" +msgstr "Aucun connecteur YubiKey libre !" #, python-format -msgid "Unable to create private group. A group '%(group)s' already exists." +msgid "Removing %(servers)s from replication topology, please wait..." msgstr "" -"Impossible de créer un groupe privé. Un groupe '%(group)s' existe déjà." +"Suppression de %(servers)s de la topologie de réplication, merci de " +"patienter..." #, python-format -msgid "" -"A problem was encountered when verifying that all members were %(verb)s: " -"%(exc)s" -msgstr "" -"Un problème est survenu en vérifiant que tous les membres étaient %(verb)s : " -"%(exc)s" +msgid "Enabled Sudo Rule \"%s\"" +msgstr "Règle sudo « %s » activée" #, python-format -msgid "%(attr)s does not contain '%(value)s'" -msgstr "%(attr)s ne contient pas '%(value)s'" +msgid "Disabled Sudo Rule \"%s\"" +msgstr "Règle sudo « %s » désactivée" #, python-format -msgid "" -"The search criteria was not specific enough. Expected 1 and found %(found)d." -msgstr "" -"Le critère de recherche n'est pas suffisamment précis. Une valeur attendue, " -"mais %(found)d trouvées." +msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" +msgstr "Option « %(option)s » ajoutée à la règle sudo « %(rule)s »" -msgid "This group already allows external members" -msgstr "Ce groupe autorise déjà des membres externes" +#, 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 »" -msgid "This group cannot be posix because it is external" -msgstr "Ce groupe ne peut être de type POSIX car il est externe" +#, python-format +msgid "Replication topology of suffix \"%(suffix)s\" is in order." +msgstr "La topologie de réplication du suffixe « %(suffix)s » est en ordre." -msgid "This is already a posix group and cannot be converted to external one" +#, python-format +msgid "Replication topology of suffix \"%(suffix)s\" contains errors." msgstr "" -"Ce groupe est déjà de type POSIX et ne peut être converti en groupe externe" +"La topologie de réplication du suffixe « %(suffix)s » contient des erreurs." + +msgid "Topology is disconnected" +msgstr "La topologie est déconnectée" #, python-format -msgid "no command nor help topic '%(topic)s'" -msgstr "pas de commande ou de sujet d'aide pour « %(topic)s »" +msgid "Server %(srv)s can't contact servers: %(replicas)s" +msgstr "Le serveur %(srv)s ne peut contacter les serveurs : %(replicas)s" -msgid "change collided with another change" -msgstr "la modification s'est heurtée à une autre" +msgid "Recommended maximum number of agreements per replica exceeded" +msgstr "Le nombre maximal d'agréments de réplication est dépassé" -msgid "no modifications to be performed" -msgstr "pas de modification à effectuer" +msgid "Maximum number of agreements per replica" +msgstr "Le nombre maximal d'agréments par réplique" #, python-format -msgid "%(desc)s: %(info)s" -msgstr "%(desc)s : %(info)s" +msgid "Server \"%(srv)s\" has %(n)d agreements with servers:" +msgstr "Le serveur « %(srv)s » possède %(n)d agréments avec les serveurs :" -msgid "limits exceeded for this query" -msgstr "limites dépassées pour cette requête" +msgid "Delete a user, keeping the entry available for future use" +msgstr "" +"Supprimer un utilisateur en préservant l'entrée correspondantes pour un " +"usage futur" -#, python-format -msgid "%(info)s" -msgstr "%(info)s" +msgid "Delete a user" +msgstr "Supprimer un utilisateur" -msgid "modifying primary key is not allowed" -msgstr "la modification de clé principale n'est pas autorisée" +msgid "preserve and no-preserve cannot be both set" +msgstr "preserve et no-preserve ne peuvent être indiqués simultanément" #, python-format -msgid "%(attr)s: Only one value allowed." -msgstr "%(attr)s : une seule valeur autorisée." +msgid "Cannot read file '%(filename)s': %(exc)s" +msgstr "Impossible de lire le fichier « %(filename)s » : %(exc)s" #, python-format -msgid "%(attr)s: Invalid syntax." -msgstr "%(attr)s : syntaxe invalide." +msgid "Cannot decode file '%(filename)s': %(exc)s" +msgstr "Impossible de décoder le fichier « %(filename)s » : %(exc)s" -#, python-format -msgid "Bad search filter %(info)s" -msgstr "Filtre de recherche invalide %(info)s" +msgid "Invalid credentials" +msgstr "Données d'authentification invalides" -msgid "Not allowed on non-leaf entry" -msgstr "Interdit sur une entrée qui n'est pas une feuille" +msgid "Create a new vault." +msgstr "Créer un nouveau coffre-fort." -msgid "LDAP timeout" -msgstr "Délai d'expiration LDAP" +msgid "Vault password" +msgstr "Mot de passe du coffre-fort" -#, python-format -msgid "DNS check failed: Expected {%(expected)s} got {%(got)s}" +msgid "File containing the vault password" +msgstr "Fichier contenant le mot de passe du coffre-fort" + +msgid "File containing the vault public key" +msgstr "Fichier contenant la clé publique du coffre-fort" + +msgid "Password can be specified only for symmetric vault" msgstr "" -"Échec de vérification du DNS : {%(expected)s} attendu, {%(got)s} obtenu" +"Un mot de passe ne peut être indiqué que pour un coffre-fort symétrique" -#, python-format -msgid "%(task)s LDAP task timeout, Task DN: '%(task_dn)s'" +msgid "Public key can be specified only for asymmetric vault" msgstr "" -"Délai échu pour la tâche LDAP %(task)s, DN de la tâche : « %(task_dn)s »" +"Une clé publique ne peut être indiquée que pour un coffre-fort asymétrique" -#, python-format -msgid "Certificate operation cannot be completed: %(error)s" -msgstr "L'opération de certification ne peut être effectuée : %(error)s" +msgid "Password specified multiple times" +msgstr "Mot de passe indiqué plusieurs fois" + +msgid "Public key specified multiple times" +msgstr "Clé publique indiquée plusieurs fois" + +msgid "Missing vault public key" +msgstr "Clé publique du coffre-fort manquante" #, python-format -msgid "Certificate format error: %(error)s" -msgstr "Erreur de format de certificat : %(error)s" +msgid "Invalid or unsupported vault public key: %s" +msgstr "Clé publique invalide ou non prise en charge : %s" -msgid "Already registered" -msgstr "Déjà enregistré" +msgid "Modify a vault." +msgstr "Modifier un coffre-fort." -msgid "Not registered yet" -msgstr "Pas encore enregistré" +msgid "Change password" +msgstr "Modifier le mot de passe" -#, python-format -msgid "%(key)s cannot be deleted because %(label)s %(dependent)s requires it" -msgstr "" -"%(key)s ne peut pas être supprimé car %(label)s %(dependent)s le requiert" +msgid "Old vault password" +msgstr "Ancien mot de passe du coffre-fort" -#, python-format -msgid "" -"%(key)s cannot be deleted or disabled because it is the last member of " -"%(label)s %(container)s" -msgstr "" -"%(key)s ne peut être supprimé ou désactivé étant le dernier membre de " -"%(container)s %(label)s" +msgid "File containing the old vault password" +msgstr "Fichier contenant l'ancien mot de passe du coffre-fort" -#, python-format -msgid "%(label)s %(key)s cannot be deleted/modified: %(reason)s" -msgstr "%(label)s %(key)s ne peut être supprimé ou modifié : %(reason)s" +msgid "New vault password" +msgstr "Nouveau mot de passe du coffre-fort" -#, python-format -msgid "%(name)s certificate is not valid" -msgstr "le certificat %(name)s est invalide" +msgid "File containing the new vault password" +msgstr "Fichier contenant le nouveau mot de passe du coffre-fort" -msgid "Results are truncated, try a more specific search" -msgstr "Résultats tronqués, essayer un recherche plus précise" +msgid "Old vault private key" +msgstr "Ancienne clé privée du coffre-fort" -#, python-format -msgid "Unknown option: %(option)s" -msgstr "Option inconnue : %(option)s" +msgid "File containing the old vault private key" +msgstr "Fichier contenant l'ancienne clé privée du coffre-fort" -msgid "" -"Retrieve and print all attributes from the server. Affects command output." -msgstr "" -"Récupérer et afficher tous les attributs à partir du serveur. Affecte la " -"sortie de la commande." +msgid "File containing the new vault public key" +msgstr "Fichier contenant la nouvelle clé publique du coffre-fort" -msgid "Print entries as stored on the server. Only affects output format." -msgstr "" -"Afficher les entrées telles qu'enregistrées sur le serveur. Affecte " -"uniquement le format de sortie." +msgid "New public key specified multiple times" +msgstr "Nouvelle clé publique indiquée plusieurs fois" -msgid "Client version. Used to determine if server will accept request." -msgstr "" -"Version client. Utilisée pour déterminer si le serveur accepte la requête." +msgid "Missing new vault public key" +msgstr "Nouvelle clé publique du coffre-fort manquante" -msgid "Forward to server instead of running locally" -msgstr "Rediriger vers le serveur au lieu d'exécuter localement" +msgid "Archive data into a vault." +msgstr "Archiver des données dans un coffre-fort." -msgid "Additional instructions:" -msgstr "Instructions complémentaires :" +msgid "Binary data to archive" +msgstr "Fichier binaire à archiver" -#, python-format -msgid "" -"API Version number was not sent, forward compatibility not guaranteed. " -"Assuming server's API version, %(server_version)s" -msgstr "" -"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 "File containing data to archive" +msgstr "Fichier contenant les données à archiver" -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 redirection DNS a été modifié depuis IPA 4.0.\n" -"Utilisez à la place les redirections de zones (dnsforwardzone-*).\n" -"Pour plus de détails, lisez la documentation." +msgid "Override existing password" +msgstr "Réécrire le mot de passe existant" + +msgid "Input data specified multiple times" +msgstr "Les données en entrée ont été indiquées plusieurs fois" #, python-format msgid "" -"DNSSEC support is experimental.\n" -"%(additional_info)s" +"Size of data exceeds the limit. Current vault data size limit is %(limit)d B" msgstr "" -"La prise en charge de DNSSEC est expérimentale.\n" -"%(additional_info)s" +"La taille des données excède la limite actuelle fixée à %(limit)d octets." -#, python-format -msgid "'%(option)s' option is deprecated. %(additional_info)s" -msgstr "L'option « %(option)s » est obsolète. %(additional_info)s" +msgid "Invalid vault type" +msgstr "Type de coffre-fort invalide" -#, 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" +msgid "Retrieve a data from a vault." +msgstr "Récupérer une donnée depuis un coffre-fort" -#, python-format -msgid "DNS server %(server)s: %(error)s." -msgstr "Serveur DNS %(server)s : %(error)s." +msgid "File to store retrieved data" +msgstr "Fichier duquel récupérer les données" -#, 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." +msgid "Vault private key" +msgstr "Clé privée du coffre-fort" -#, 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 redirigiée « %(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 »." +msgid "File containing the vault private key" +msgstr "Fichier contenant la clé privée du coffre-fort" -#, 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." +msgid "Data" +msgstr "Données" + +msgid "Private key specified multiple times" +msgstr "Clé privée indiquée plusieurs fois" + +msgid "Missing vault private key" +msgstr "Clé privée du coffre-fort manquante" + +msgid "Failed members" +msgstr "Membres en échec" + +msgid "Failed source hosts/hostgroups" +msgstr "Hôtes/groupes d'hôtes source en échec" + +msgid "Failed hosts/hostgroups" +msgstr "Hôtes/groupes d'hôtes en échec" + +msgid "Failed users/groups" +msgstr "Utilisateurs/groupes en échec" + +msgid "Failed service/service groups" +msgstr "Services/groupes de service en échec" + +msgid "Failed to remove" +msgstr "Échec à la suppression" + +msgid "Failed RunAs" +msgstr "Échec de « RunAs »" + +msgid "Failed RunAsGroup" +msgstr "Échec de « RunAsGroup »" + +msgid "Failed profiles" +msgstr "Profils en échec" + +msgid "Failed CAs" +msgstr "AC en échec" + +msgid "Failed managedby" +msgstr "Échec de « managedby »" + +msgid "Failed allowed to retrieve keytab" +msgstr "Échec de l'autorisation de récupération des tableaux de clés" + +msgid "Failed allowed to create keytab" +msgstr "Échec de l'autorisation de création de tableaux de clés" + +msgid "Failed targets" +msgstr "Échec de la cible" + +msgid "Failed owners" +msgstr "Propriétaires en échec" + +#, python-format +msgid "Enter %(label)s again to verify: " +msgstr "Entrer à nouveau %(label)s pour validation :" + +#, c-format +msgid "Passwords do not match!" +msgstr "Les mots de passe ne correspondent pas !" + +msgid "No matching entries found" +msgstr "Aucune entrée correspondante trouvée" + +msgid "Topic or Command" +msgstr "Thème ou commande" + +msgid "The topic or command name." +msgstr "Le nom du thème ou de la commande." + +msgid "Topic commands:" +msgstr "Commandes du thème :" + +msgid "To get command help, use:" +msgstr "Pour obtenir de l'aide, utiliser :" + +msgid " ipa --help" +msgstr " ipa --help" + +msgid "Command name" +msgstr "Nom de commande" + +msgid "Positional arguments" +msgstr "Arguments positionnels" + +#, python-format +msgid "Same as --%s" +msgstr "Identique à --%s" + +msgid "Deprecated options" +msgstr "Options obsolètes" + +msgid "No file to read" +msgstr "Pas de fichier à lire" + +msgid "A string searched in all relevant object attributes" +msgstr "" +"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 le serveur %(sver)s à « %(server)s »" + +#, python-format +msgid "unknown error %(code)d from %(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" + +#, python-format +msgid "an internal error has occurred on server at '%(server)s'" +msgstr "une erreur interne est survenue sur le serveur à « %(server)s »" + +#, python-format +msgid "unknown command '%(name)s'" +msgstr "commande « %(name)s » inconnue" + +#, python-format +msgid "error on server '%(server)s': %(error)s" +msgstr "erreur sur le serveur « %(server)s » : %(error)s" + +#, python-format +msgid "cannot connect to '%(uri)s': %(error)s" +msgstr "impossible de se connecter à « %(uri)s » : %(error)s" + +#, python-format +msgid "Invalid JSON-RPC request: %(error)s" +msgstr "Requête JSON-RPC invalide : %(error)s" + +#, python-format +msgid "error marshalling data for XML-RPC transport: %(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 "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 "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 des justificatifs d'identité introuvable" + +msgid "Ticket expired" +msgstr "Ticket périmé" + +msgid "Credentials cache permissions incorrect" +msgstr "Droits d'accès incorrects au cache des justificatifs d'identité" + +msgid "Bad format in credentials cache" +msgstr "Mauvais format de cache des justificatifs d'identité" + +msgid "Cannot resolve KDC for requested realm" +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 pas pu être authentifié : %(message)s" + +#, python-format +msgid "Insufficient access: %(info)s" +msgstr "Accès insuffisant : %(info)s" + +#, python-format +msgid "command '%(name)s' takes no arguments" +msgstr "la commande « %(name)s » ne prend pas d'argument" + +#, 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] "la commande « %(name)s » prend au plus %(count)d argument" +msgstr[1] "la commande « %(name)s » prend au plus %(count)d arguments" + +#, python-format +msgid "overlapping arguments and options: %(names)s" +msgstr "les arguments et options se chevauchent : %(names)s" + +#, python-format +msgid "'%(name)s' is required" +msgstr "« %(name)s » est requis" + +#, python-format +msgid "invalid '%(name)s': %(error)s" +msgstr "« %(name)s » invalide : %(error)s" + +#, python-format +msgid "api has no such namespace: '%(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 implémentée" + +msgid "Client is not configured. Run ipa-client-install." +msgstr "Le client n'est pas configuré. Lancer « ipa-client-install »." + +#, python-format +msgid "Could not get %(name)s interactively" +msgstr "Impossible d'obtenir %(name)s de façon interactive" + +#, python-format +msgid "Command '%(name)s' has been deprecated" +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" +msgstr "%(reason)s" + +msgid "This entry already exists" +msgstr "Cette entrée existe déjà" + +msgid "You must enroll a host in order to create a host service" +msgstr "Vous devez enregistrer un hôte afin de créer un service" + +#, python-format +msgid "" +"Service principal is not of the form: service/fully-qualified host name: " +"%(reason)s" +msgstr "" +"Le principal de service n'est pas de la forme : service/fully-qualified host " +"name: %(reason)s" + +msgid "" +"The realm for the principal does not match the realm for this IPA server" +msgstr "Le domaine du principal ne correspond pas au domaine de ce serveur IPA" + +msgid "This command requires root access" +msgstr "Cette commande requiert un accès administrateur" + +msgid "This is already a posix group" +msgstr "Ce groupe est déjà de type POSIX" + +#, python-format +msgid "Principal is not of the form user@REALM: '%(principal)s'" +msgstr "Le principal n'est pas de la forme user@REALM : « %(principal)s »" + +msgid "This entry is already enabled" +msgstr "Cette entrée est déjà activée" + +msgid "This entry is already disabled" +msgstr "Cette entrée est déjà désactivée" + +msgid "This entry cannot be enabled or disabled" +msgstr "Cette entrée ne peut être activée ou désactivée" + +msgid "This entry is not a member" +msgstr "Cette entrée n'est pas un membre" + +msgid "A group may not be a member of itself" +msgstr "Un groupe ne peut être membre de lui-même" + +msgid "This entry is already a member" +msgstr "Cette entrée est déjà membre" + +#, python-format +msgid "Base64 decoding failed: %(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" + +msgid "The default users group cannot be removed" +msgstr "Le groupe par défaut ne peut être supprimé" + +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 pas avoir de politique de mot de passe." + +#, python-format +msgid "'%(entry)s' doesn't have a certificate." +msgstr "'%(entry)s' ne possède pas de certificat." + +#, python-format +msgid "Unable to create private group. A group '%(group)s' already exists." +msgstr "" +"Impossible de créer un groupe privé. Un groupe '%(group)s' existe déjà." + +#, python-format +msgid "" +"A problem was encountered when verifying that all members were %(verb)s: " +"%(exc)s" +msgstr "" +"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'" +msgstr "%(attr)s ne contient pas '%(value)s'" + +#, python-format +msgid "" +"The search criteria was not specific enough. Expected 1 and found %(found)d." +msgstr "" +"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" + +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" + +#, python-format +msgid "Server removal aborted: %(reason)s." +msgstr "Arrêt brutal de la suppression du serveur : %(reason)s." + +#, 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 s'est heurtée à une autre" + +msgid "no modifications to be performed" +msgstr "pas de modification à effectuer" + +#, python-format +msgid "%(desc)s: %(info)s" +msgstr "%(desc)s : %(info)s" + +msgid "limits exceeded for this query" +msgstr "limites dépassées pour cette requête" + +#, python-format +msgid "%(info)s" +msgstr "%(info)s" + +msgid "modifying primary key is not allowed" +msgstr "la modification de clé principale n'est pas autorisée" + +#, python-format +msgid "%(attr)s: Only one value allowed." +msgstr "%(attr)s : une seule valeur autorisée." + +#, python-format +msgid "%(attr)s: Invalid syntax." +msgstr "%(attr)s : syntaxe invalide." + +#, python-format +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 qui n'est pas une feuille" + +msgid "LDAP timeout" +msgstr "Délai d'expiration LDAP" + +#, 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 »" + +msgid "Configured time limit exceeded" +msgstr "Limite configurée de durée dépassée" + +msgid "Configured size limit exceeded" +msgstr "Limite configurée de taille dépassée" + +msgid "Configured administrative server limit exceeded" +msgstr "Limite configurée côté serveur dépassée" + +#, python-format +msgid "Certificate operation cannot be completed: %(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 certificat : %(error)s" + +msgid "Already registered" +msgstr "Déjà enregistré" + +msgid "Not registered yet" +msgstr "Pas encore enregistré" + +#, python-format +msgid "%(key)s cannot be deleted because %(label)s %(dependent)s requires it" +msgstr "" +"%(key)s ne peut pas être supprimé car %(label)s %(dependent)s le requiert" + +#, python-format +msgid "" +"%(key)s cannot be deleted or disabled because it is the last member of " +"%(label)s %(container)s" +msgstr "" +"%(key)s ne peut être supprimé ou désactivé étant le dernier membre de " +"%(container)s %(label)s" + +#, python-format +msgid "%(label)s %(key)s cannot be deleted/modified: %(reason)s" +msgstr "%(label)s %(key)s ne peut être supprimé ou modifié : %(reason)s" + +#, python-format +msgid "%(name)s certificate is not valid" +msgstr "le certificat %(name)s est invalide" + +#, python-format +msgid "Host '%(hostname)s' does not have corresponding DNS A/AAAA record" +msgstr "" +"L'hôte « %(hostname)s » n'a pas d'enregistrement DNS de type A/" +"AAAA correspondant" + +#, 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 "%(exception)s" +msgstr "%(exception)s" + +msgid "Results are truncated, try a more specific search" +msgstr "Résultats tronqués, essayer un recherche plus précise" + +#, python-format +msgid "Unknown option: %(option)s" +msgstr "Option inconnue : %(option)s" + +msgid "" +"Retrieve and print all attributes from the server. Affects command output." +msgstr "" +"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 "" +"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 client. Utilisée pour déterminer si le serveur accepte la requête." + +msgid "Forward to server instead of running locally" +msgstr "Rediriger vers le serveur au lieu d'exécuter localement" + +msgid "Additional instructions:" +msgstr "Instructions complémentaires :" + +#, python-format +msgid "" +"API Version number was not sent, forward compatibility not guaranteed. " +"Assuming server's API version, %(server_version)s" +msgstr "" +"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 redirection DNS a été modifié depuis IPA 4.0.\n" +"Utilisez à la place les redirections de zones (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 redirigiée « %(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." + +#, python-format +msgid "" +"The _kerberos TXT record from domain %(domain)s could not be created " +"(%(error)s).\n" +"This can happen if the zone is not managed by IPA. Please create the record " +"manually, containing the following value: '%(realm)s'" +msgstr "" +"L'enregistrement TXT _kerberos du domaine %(domain)s ne peut être créé " +"(%(error)s).\n" +"Cela peut arriver si la zone n'est pas gérée par IPA. Merci de créer " +"manuellement l'enregistrement, qui doit contenir la valeur suivante : " +"« %(realm)s »" + +#, python-format +msgid "" +"The _kerberos TXT record from domain %(domain)s could not be removed " +"(%(error)s).\n" +"This can happen if the zone is not managed by IPA. Please remove the record " +"manually." +msgstr "" +"L'enregistrement TXT _kerberos du domaine %(domain)s ne peut être supprimé " +"(%(error)s).\n" +"Cela peut arriver si la zone n'est pas gérée par IPA. Merci de le supprimer " +"manuellement." + +msgid "" +"No DNSSEC key master is installed. DNSSEC zone signing will not work until " +"the DNSSEC key master is installed." +msgstr "" +"Aucune clé maîtresse DNSSEC n'est installée. La signature de zone DNSSEC ne " +"pourra pas fonctionner tant qu'une clé maîtresse n'est installée." + +#, python-format +msgid "" +"Relative record name '%(record)s' contains the zone name '%(zone)s' as a " +"suffix, which results in FQDN '%(fqdn)s'. This is usually a mistake caused " +"by a missing dot at the end of the name specification." +msgstr "" +"Le nom d'enregistrement relatif « %(record)s » contient le nom de la zone " +"« %(zone)s » comme suffixe, ce qui aboutit au FQDN « %(fqdn)s ». Cela " +"constitue généralement une erreur du fait du point final manquant à la fin " +"du nom indiqué." + +#, python-format +msgid "'%(command)s' is deprecated. %(additional_info)s" +msgstr "La commande « %(command)s » est obsolète. %(additional_info)s" + +#, python-format +msgid "%(line)s" +msgstr "%(line)s" + +#, python-format +msgid "Search result has been truncated: %(reason)s" +msgstr "Les résultats de la recherche ont été tronqués : %(reason)s" + +#, python-format +msgid "" +"Your trust to %(domain)s is broken. Please re-create it by running 'ipa " +"trust-add' again." +msgstr "" +"Votre relation d'approbation avec %(domain)s est cassée. Merci de la recréer " +"à l'aide de « ipa trust-add »." + +#, python-format +msgid "DNS record(s) of host %(host)s could not be removed. (%(reason)s)" +msgstr "" +"Le ou les enregistrements DNS de l'hôte %(host)s n'ont pu être supprimés. " +"(%(reason)s)" + +msgid "" +"Forwarding policy conflicts with some automatic empty zones. Queries for " +"zones specified by RFC 6303 will ignore forwarding and recursion and always " +"result in NXDOMAIN answers. To override this behavior use forward policy " +"'only'." +msgstr "" +"La politique de transfert entre en conflit avec certaines zones automatiques " +"vides. Les requêtes pour les zones spécifiées dans la RFC 6303 ignoreront le " +"transfert et la récursion et résulteront toujours en des réponses NXDOMAIN. " +"Pour surcharger ce comportement, utiliser la politique de transfert « only »." + +#, python-format +msgid "Update of system record '%(record)s' failed with error: %(error)s" +msgstr "" +"Échec de la à jour de l'enregistrement du système « %(record)s », erreur : " +"%(error)s" + +#, python-format +msgid "" +"IPA does not manage the zone %(zone)s, please add records to your DNS server " +"manually" +msgstr "" +"IPA ne gère pas la zone %(zone)s, merci de modifier vos serveurs " +"DNS manuellement" + +msgid "" +"Automatic update of DNS system records failed. Please re-run update of " +"system records manually to get list of missing records." +msgstr "" +"Échec de la mise à jour automatique des enregistrements DNS du système. " +"Merci de relancer la mise à jour des enregistrements du système manuellement " +"pour obtenir la liste des enregistrements manquants." + +#, python-format +msgid "" +"Service %(service)s requires restart on IPA server %(server)s to apply " +"configuration changes." +msgstr "" +"Le service %(service)s doit être redémarré sur le serveur IPA %(server)s " +"pour permettre la prise en compte de la nouvelle configuration." + +#, python-format +msgid "" +"No DNS servers in IPA location %(location)s. Without DNS servers location is " +"not working as expected." +msgstr "" +"Aucun serveur DNS dans l'emplacement IPA %(location)s. Sans serveur DNS, " +"l'emplacement ne fonctionnera pas comme attendu." + +msgid "A dictionary representing an LDAP entry" +msgstr "Un annuaire représentant une entrée LDAP" + +msgid "A list of LDAP entries" +msgstr "Une liste d'entrées LDAP" + +msgid "All commands should at least have a result" +msgstr "Toutes les commandes doivent avoir au moins un résultat" + +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 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" + +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 ayant échoué" + +msgid "True means the operation was successful" +msgstr "Vrai signifie que l'opération a réussi" + +msgid "incorrect type" +msgstr "type incorrect" + +msgid "Only one value is allowed" +msgstr "Une seule valeur est autorisée" + +msgid "this option is deprecated" +msgstr "cette option est obsolète" + +msgid "must be True or False" +msgstr "doit être « True » ou « False »" + +msgid "must be an integer" +msgstr "doit être un nombre entier" + +#, python-format +msgid "must be at least %(minvalue)d" +msgstr "doit être supérieur ou égal à %(minvalue)d" + +#, python-format +msgid "can be at most %(maxvalue)d" +msgstr "doit être inférieur ou égal à %(maxvalue)d" + +msgid "must be a decimal number" +msgstr "doit être un nombre décimal" + +#, python-format +msgid "must be at least %(minvalue)s" +msgstr "doit valoir a minima %(minvalue)s" + +#, python-format +msgid "can be at most %(maxvalue)s" +msgstr "doit valoir au plus %(maxvalue)s" #, python-format msgid "" -"DNSSEC validation failed: %(error)s.\n" -"Please verify your DNSSEC configuration or disable DNSSEC validation on all " -"IPA servers." +"number class '%(cls)s' is not included in a list of allowed number classes: " +"%(allowed)s" 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." +"La classe de nombres « %(cls)s » n'est pas dans la liste des classes de " +"nombres autorisées : %(allowed)s" -msgid "A dictionary representing an LDAP entry" -msgstr "Un annuaire représentant une entrée LDAP" +#, python-format +msgid "must match pattern \"%(pattern)s\"" +msgstr "doit correspondre au motif « %(pattern)s »" + +msgid "must be binary data" +msgstr "doivent être des données binaires" + +#, python-format +msgid "must be at least %(minlength)d bytes" +msgstr "doit être d'au moins %(minlength)d octets" + +#, python-format +msgid "can be at most %(maxlength)d bytes" +msgstr "peut être d'au plus %(maxlength)d octets" + +#, python-format +msgid "must be exactly %(length)d bytes" +msgstr "doit être d'exactement %(length)d octets" + +msgid "must be Unicode text" +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ées" + +#, python-format +msgid "must be at least %(minlength)d characters" +msgstr "doit être d'au moins %(minlength)d caractères" + +#, python-format +msgid "can be at most %(maxlength)d characters" +msgstr "peut être d'au plus %(maxlength)d caractères" + +#, python-format +msgid "must be exactly %(length)d characters" +msgstr "doit être d'exactement %(length)d caractères" + +#, python-format +msgid "The character %(char)r is not allowed." +msgstr "Le caractère « %(char)r » n'est pas autorisé." + +#, python-format +msgid "must be '%(value)s'" +msgstr "doit être « %(value)s »" + +#, python-format +msgid "must be one of %(values)s" +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" + +msgid "must be DNS name" +msgstr "doit être un nom de DNS" + +msgid "must be absolute" +msgstr "doit être absolu" + +msgid "must be relative" +msgstr "doit être relatif" + +msgid "must be dictionary" +msgstr "doit être un dictionnaire" + +msgid "any of the configured servers" +msgstr "n'importe quel serveur configuré" + +msgid "could not allocate unique new session_id" +msgstr "impossible d'allouer un seul « session_id »" + +msgid "Filename is empty" +msgstr "Le nom de fichier est vide" + +#, python-format +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 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 "" +"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 "cannot be longer that 255 characters" +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)" + +msgid "not fully qualified" +msgstr "pas pleinement qualifié" + +msgid "invalid SSH public key" +msgstr "clé publique SSH invalide" + +msgid "options are not allowed" +msgstr "les options ne sont pas autorisées" + +msgid "invalid hostmask" +msgstr "masque d'hôte invalide" + +#, python-format +msgid "query '%(owner)s %(rtype)s': %(error)s" +msgstr "requête « %(owner)s %(rtype)s » : %(error)s" + +#, python-format +msgid "query '%(owner)s %(rtype)s' with EDNS0: %(error)s" +msgstr "requête « %(owner)s %(rtype)s » avec EDNS0: %(error)s" + +#, python-format +msgid "" +"answer to query '%(owner)s %(rtype)s' is missing DNSSEC signatures (no RRSIG " +"data)" +msgstr "" +"la réponse à la requête « %(owner)s %(rtype)s » ne comporte pas de " +"signatures DNSSEC (pas de données RRSIG)" + +#, python-format +msgid "record '%(owner)s %(rtype)s' failed DNSSEC validation on server %(ip)s" +msgstr "" +"la validation DNSSEC de l'enregistrement « %(owner)s %(rtype)s » a échoué " +"sur le serveur %(ip)s" + +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" + +#, python-format +msgid "invalid domain-name: %s" +msgstr "nom de domaine invalide : %s" + +#, python-format +msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" +msgstr "" +"version d'adresse IP invalide (est %(value)d, doit être %(required_value)d) !" + +msgid "invalid IP address format" +msgstr "format d'adresse IP invalide" + +#, python-format +msgid "%(port)s is not a valid port" +msgstr "%(port)s n'est pas un port valide" + +msgid "improperly formatted DER-encoded certificate" +msgstr "format incorrect du certificat encodé DER" + +#, python-format +msgid "Retrieving CA cert chain failed: %s" +msgstr "Échec de la récupération de la chaîne de certificat de l'AC : %s" + +#, python-format +msgid "request failed with HTTP status %d" +msgstr "échec de la requête avec le code état HTTP %d" + +#, python-format +msgid "Retrieving CA status failed: %s" +msgstr "Échec de la récupération de l'état de l'AC : %s" + +#, python-format +msgid "Retrieving CA status failed with status %d" +msgstr "Échec de la récupération de l'état de l'AC avec l'état %d" + +#, python-format +msgid "objectclass %s not found" +msgstr "classe d'objet %s introuvable" + +msgid "" +"\n" +"Classes to manage trust joins using DCE-RPC calls\n" +"\n" +"The code in this module relies heavily on samba4-python package\n" +"and Samba4 python bindings.\n" +msgstr "" +"\n" +"Classes pour gérer des jonctions de confiance avec des appels DCE-RPC\n" +"\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 justificatifs d'identité" -msgid "A list of LDAP entries" -msgstr "Une liste d'entrées LDAP" +msgid "communication with CIFS server was unsuccessful" +msgstr "la communication avec le serveur CIFS a échoué" -msgid "All commands should at least have a result" -msgstr "Toutes les commandes doivent avoir au moins un résultat" +msgid "AD domain controller" +msgstr "Contrôleur de domaine AD" -msgid "User-friendly description of action performed" -msgstr "Description intelligible de l'action effectuée" +msgid "unsupported functional level" +msgstr "niveau de fonctionnalité non pris en charge" -msgid "The primary_key value of the entry, e.g. 'jdoe' for a user" +msgid "" +"AD domain controller complains about communication sequence. It may mean " +"unsynchronized time on both sides, for example" msgstr "" -"La valeur de la clé principale de l'entrée, par ex. « jdoe » pour un " -"utilisateur" +"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 "Number of entries returned" -msgstr "Nombre d'entrées renvoyées" +msgid "CIFS server configuration does not allow access to \\\\pipe\\lsarpc" +msgstr "La configuration du serveur CIFS interdit l'accès à \\\\pipe\\lsarpc" -msgid "True if not all results were returned" -msgstr "Vrai si tous les résultats n'ont pas été renvoyés" +msgid "Cannot find specified domain or server name" +msgstr "Impossible de trouver le domaine ou le serveur indiqué" -msgid "List of deletions that failed" -msgstr "Liste des suppressions ayant échoué" +msgid "" +"AD DC was unable to reach any IPA domain controller. Most likely it is a DNS " +"or firewall issue" +msgstr "" +"Le contrôleur de domaine AD n'a pas été en mesure aucun des contrôleurs de " +"domaine IPA. Cela est probablement dû à un problème DNS ou de pare-feu." -msgid "True means the operation was successful" -msgstr "Vrai signifie que l'opération a réussi" +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é" -msgid "incorrect type" -msgstr "type incorrect" +#, 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 peuvent être « None »)" -msgid "Only one value is allowed" -msgstr "Une seule valeur est autorisée" +msgid "no trusted domain is configured" +msgstr "pas de relation de confiance configurée" -msgid "must be True or False" -msgstr "doit être « True » ou « False »" +msgid "domain is not configured" +msgstr "le domaine n'est pas configuré" -msgid "must be an integer" -msgstr "doit être un nombre entier" +msgid "SID is not valid" +msgstr "Le SID n'est pas valide" -#, python-format -msgid "must be at least %(minvalue)d" -msgstr "doit être supérieur ou égal à %(minvalue)d" +msgid "SID does not match exactlywith any trusted domain's SID" +msgstr "Le SID ne correspond exactement à aucun SID du domaine approuvé" -#, python-format -msgid "can be at most %(maxvalue)d" -msgstr "doit être inférieur ou égal à %(maxvalue)d" +msgid "SID does not match any trusted domain" +msgstr "Le SID ne correspond à aucun domaine approuvé" -msgid "must be a decimal number" -msgstr "doit être un nombre décimal" +msgid "Trust setup" +msgstr "Configuration des relations d'approbation" -#, python-format -msgid "must be at least %(minvalue)s" -msgstr "doit valoir a minima %(minvalue)s" +msgid "Our domain is not configured" +msgstr "Notre domaine n'est pas configuré" -#, python-format -msgid "can be at most %(maxvalue)s" -msgstr "doit valoir au plus %(maxvalue)s" +msgid "No trusted domain is not configured" +msgstr "Aucun domaine approuvé n'est pas configuré" -#, python-format -msgid "" -"number class '%(cls)s' is not included in a list of allowed number classes: " -"%(allowed)s" -msgstr "" -"La classe de nombres « %(cls)s » n'est pas dans la liste des classes de " -"nombres autorisées : %(allowed)s" +msgid "trusted domain object" +msgstr "objet domaine approuvé" -#, python-format -msgid "must match pattern \"%(pattern)s\"" -msgstr "doit correspondre au motif « %(pattern)s »" +msgid "domain is not trusted" +msgstr "le domaine n'est pas de confiance" -msgid "must be binary data" -msgstr "doivent être des données binaires" +msgid "no trusted domain matched the specified flat name" +msgstr "aucun domaine approuvé ne correspond au nom simple indiqué" -#, python-format -msgid "must be at least %(minlength)d bytes" -msgstr "doit être d'au moins %(minlength)d octets" +msgid "trusted domain object not found" +msgstr "objet relation de confiance introuvable" -#, python-format -msgid "can be at most %(maxlength)d bytes" -msgstr "peut être d'au plus %(maxlength)d octets" +msgid "SSSD was unable to resolve the object to a valid SID" +msgstr "SSSD n'a pu résoudre l'objet en un SID valide" -#, python-format -msgid "must be exactly %(length)d bytes" -msgstr "doit être d'exactement %(length)d octets" +msgid "Ambiguous search, user domain was not specified" +msgstr "Recherche ambiguë, le domaine utilisateur n'a pas été indiqué" -msgid "must be Unicode text" -msgstr "doit être un texte Unicode" +msgid "Trusted domain did not return a unique object" +msgstr "Le domaine approuvé n'a pas renvoyé un objet unique" -msgid "Leading and trailing spaces are not allowed" -msgstr "Les espaces de début et de fin ne sont pas autorisées" +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" -#, python-format -msgid "must be at least %(minlength)d characters" -msgstr "doit être d'au moins %(minlength)d caractères" +msgid "trusted domain user not found" +msgstr "utilisateur de domaine approuvé introuvable" -#, python-format -msgid "can be at most %(maxlength)d characters" -msgstr "peut être d'au plus %(maxlength)d caractères" +msgid "Cannot retrieve trusted domain GC list" +msgstr "Impossible de récupérer la liste GC du domaine approuvé" -#, python-format -msgid "must be exactly %(length)d characters" -msgstr "doit être d'exactement %(length)d caractères" +msgid "CIFS credentials object" +msgstr "Objet justificatif d'identité de CIFS" #, python-format -msgid "The character %(char)r is not allowed." -msgstr "Le caractère « %(char)r » n'est pas autorisé." +msgid "CIFS server %(host)s denied your credentials" +msgstr "Le serveur CIFS %(host)s a refusé vos justificatifs d'identité" #, python-format -msgid "must be '%(value)s'" -msgstr "doit être « %(value)s »" +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 cours d'exécution ?" #, python-format -msgid "must be one of %(values)s" -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" - -msgid "this option is deprecated" -msgstr "cette option est obsolète" - -msgid "must be DNS name" -msgstr "doit être un nom de DNS" +msgid "" +"the IPA server and the remote domain cannot share the same NetBIOS name: %s" +msgstr "" +"le serveur IPA et le domaine distant ne peuvent partager le même nom " +"NetBIOS : %s" -msgid "must be absolute" -msgstr "doit être absolu" +#, 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. Additionally, please check that AD DNS is able to resolve %(records)s " +"SRV records to the correct IPA server." +msgstr "" +"Le maître IPA a refusé %(count)d fois les demandes de validation de " +"relation d'approbation du contrôleur de domaine AD. Cela est probablement dû " +"au fait que ce dernier a tenté de contacter une réplique où les informations " +"de relations d'approbation n'ont pas encore été répliquées. De plus, " +"vérifiez que le DNS AD est capable de résoudre les enregistrements SRV " +"%(records)s vers le serveur IPA adéquat." -msgid "must be relative" -msgstr "doit être relatif" +#, python-format +msgid "Unable to communicate with CMS (status %d)" +msgstr "Impossible de communiquer avec le CMS (état %d)" msgid "A list of ACI values" msgstr "Une liste de valeurs d'ACI" @@ -867,13 +1749,6 @@ msgstr "" 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" @@ -1107,10 +1982,10 @@ msgstr "" "un utilisateur" msgid "Grouping Type" -msgstr "Type de groupement" +msgstr "Type de groupe" msgid "Grouping to which the rule applies" -msgstr "Type de groupement auquel la règle s'applique" +msgstr "Type de groupe auquel la règle s'applique" msgid "Automember Rule" msgstr "Règle d'auto-adhésion" @@ -1163,9 +2038,6 @@ msgstr "" " Ajouter des conditions à une règle d'auto-adhésion.\n" " " -msgid "Failed to add" -msgstr "Échec lors de l'ajout" - #, python-format msgid "Added condition(s) to \"%(value)s\"" msgstr "Condition(s) ajoutées à « %(value)s »" @@ -1314,6 +2186,12 @@ msgstr "" "(repli).\n" " " +msgid "Task DN" +msgstr "DN de la tâche" + +msgid "DN of the started task" +msgstr "DN de la tâche lancée" + msgid "Rebuild auto membership." msgstr "Reconstruire les appartenances automatiques." @@ -1338,12 +2216,6 @@ 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 lancée" - msgid "at least one of options: type, users, hosts must be specified" msgstr "" "au moins une des options « type », « users » ou « hosts » doit être indiquée" @@ -1631,35 +2503,6 @@ msgstr[1] "%(count)d emplacements « automount » correspondants" msgid "Generate automount files for a specific location." 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 » :" - -msgid "Import automount files for a specific location." -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 »" - -msgid "" -"Continuous operation mode. Errors are reported but the process continues." -msgstr "" -"Mode opératoire continu. Les erreurs sont notées, mais le processus continue." - -#, python-format -msgid "File %(file)s not found" -msgstr "Fichier %(file)s introuvable" - -#, python-format -msgid "key %(key)s already exists" -msgstr "La clé %(key)s existe déjà" - -#, python-format -msgid "map %(map)s already exists" -msgstr "La carte %(map)s existe déjà" - msgid "automount map" msgstr "carte « automount »" @@ -1818,12 +2661,6 @@ msgstr[1] "%(count)d clés « automount » correspondantes" msgid "Display an automount key." msgstr "Afficher une clé « automount »." -msgid "Password" -msgstr "Mot de passe" - -msgid "Failed members" -msgstr "Membres en échec" - msgid "Member users" msgstr "Utilisateurs membres" @@ -1852,10 +2689,10 @@ msgid "Granting privilege to roles" msgstr "Privilèges accordés aux rôles" msgid "Member netgroups" -msgstr "Groupements réseau membre" +msgstr "Groupes réseau membre" msgid "Member of netgroups" -msgstr "Membre des groupements réseau" +msgstr "Membre des groupes réseau" msgid "Member services" msgstr "Services membres" @@ -1881,41 +2718,20 @@ msgstr "Hôtes membres indirects" msgid "Indirect Member host-groups" msgstr "Groupes d'hôtes membres indirects" -msgid "Indirect Member of roles" -msgstr "Membres indirect des rôles" - -msgid "Indirect Member permissions" -msgstr "Droits d'accès de membre indirect" - -msgid "Indirect Member HBAC service" -msgstr "Service HBAC de membre indirect" - -msgid "Indirect Member HBAC service group" -msgstr "Groupe de services de membre indirect" - -msgid "Indirect Member netgroups" -msgstr "Groupements réseau de membres indirects" - -msgid "Failed source hosts/hostgroups" -msgstr "Hôtes/groupes d'hôtes source en échec" - -msgid "Failed hosts/hostgroups" -msgstr "Hôtes/groupes d'hôtes en échec" - -msgid "Failed users/groups" -msgstr "Utilisateurs/groupes en échec" - -msgid "Failed service/service groups" -msgstr "Services/groupes de service en échec" +msgid "Indirect Member of roles" +msgstr "Membres indirect des rôles" -msgid "Failed to remove" -msgstr "Échec à la suppression" +msgid "Indirect Member permissions" +msgstr "Droits d'accès de membre indirect" -msgid "Failed RunAs" -msgstr "Échec de « RunAs »" +msgid "Indirect Member HBAC service" +msgstr "Service HBAC de membre indirect" -msgid "Failed RunAsGroup" -msgstr "Échec de « RunAsGroup »" +msgid "Indirect Member HBAC service group" +msgstr "Groupe de services de membre indirect" + +msgid "Indirect Member netgroups" +msgstr "Groupes réseau de membres indirects" msgid "Invalid format. Should be name=value" msgstr "Format invalide. Doit être nom=valeur" @@ -2064,14 +2880,27 @@ msgstr "" msgid "Time Limit" msgstr "Limitation de durée" -msgid "Time limit of search in seconds" -msgstr "Limite de la durée de la recherche en secondes" +msgid "Time limit of search in seconds (0 is unlimited)" +msgstr "Limite de la durée de la recherche en secondes (0 pour illimité)" msgid "Size Limit" msgstr "Limitation de taille" -msgid "Maximum number of entries returned" -msgstr "Nombre maximal d'entrées renvoyées" +msgid "Maximum number of entries returned (0 is unlimited)" +msgstr "Nombre maximal d'entrées renvoyées (0 pour illimité)" + +msgid "added attribute value to entry %(value)" +msgstr "valeur d'attribut ajouté à l'entrée %(value)" + +#, python-format +msgid "'%s' already contains one or more values" +msgstr "« %s » contient déjà une ou plusieurs valeurs" + +msgid "removed attribute values from entry %(value)" +msgstr "valeur d'attribut supprimée de l'entrée %(value)" + +msgid "one or more values to remove" +msgstr "une ou plusieurs valeurs à supprimer" msgid "" "\n" @@ -2137,7 +2966,7 @@ msgid "GECOS" msgstr "GECOS" msgid "Login shell" -msgstr "Interpréteur de connexion" +msgstr "Interpréteur de commande" msgid "Kerberos principal" msgstr "Principal Kerberos" @@ -2246,8 +3075,8 @@ msgstr "Langue préférée" msgid "Certificate" msgstr "Certificat" -msgid "Base-64 encoded server certificate" -msgstr "Certificat du serveur codé en Base-64" +msgid "Base-64 encoded user certificate" +msgstr "Certificat de l'utilisateur encodé en Base-64" #, python-format msgid "invalid e-mail format: %(email)s" @@ -2264,6 +3093,115 @@ msgstr "doit contenir au plus %(len)d caractères" msgid "Nested Methods to execute" msgstr "Commandes imbriquées à exécuter" +msgid "must contain a tuple (list, dict)" +msgstr "doit contenir un tuple (liste, dict)" + +msgid "" +"\n" +"Manage Certificate Authorities\n" +"\n" +"Subordinate Certificate Authorities (Sub-CAs) can be added for scoped " +"issuance\n" +"of X.509 certificates.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create new CA, subordinate to the IPA CA.\n" +"\n" +" ipa ca-add puppet --desc \"Puppet\" \\\n" +" --subject \"CN=Puppet CA,O=EXAMPLE.COM\"\n" +"\n" +msgstr "" +"\n" +"Gérer les autorités de certification\n" +"\n" +"Des sous-autorités de certification peuvent être ajoutées pour des \n" +"émissions à portée limitée de certificats x509.\n" +"\n" +"EXEMPLES :\n" +"\n" +" Créer une nouvelle A, subordonnée à l'AC de IPA.\n" +"\n" +" ipa ca-add puppet --desc \"Puppet\" \\\n" +" --subject \"CN=Puppet CA,O=EXAMPLE.COM\"\n" +"\n" + +msgid "Certificate Authority" +msgstr "Autorité de certification" + +msgid "Certificate Authorities" +msgstr "Autorités de certification" + +msgid "Name" +msgstr "Nom" + +msgid "Name for referencing the CA" +msgstr "Nom de référencement de l'AC" + +msgid "Description of the purpose of the CA" +msgstr "Description de l'objet de l'AC" + +msgid "Authority ID" +msgstr "ID de l'autorité" + +msgid "Dogtag Authority ID" +msgstr "ID de l'autorité Dogtag" + +msgid "Subject DN" +msgstr "DN de l'objet" + +msgid "Subject Distinguished Name" +msgstr "Nom distinctif de l'objet" + +msgid "Issuer DN" +msgstr "DN de l'émetteur" + +msgid "Issuer Distinguished Name" +msgstr "Nom distinctif de l'émetteur" + +msgid "Search for CAs." +msgstr "Rechercher des AC." + +#, python-format +msgid "%(count)d CA matched" +msgid_plural "%(count)d CAs matched" +msgstr[0] "%(count)d AC correspondante" +msgstr[1] "%(count)d AC correspondantes" + +msgid "Display the properties of a CA." +msgstr "Afficher les propriétés d'une AC." + +msgid "Create a CA." +msgstr "Créer une AC." + +#, python-format +msgid "Created CA \"%(value)s\"" +msgstr "AC « %(value)s » créée" + +#, python-format +msgid "Insufficient 'add' privilege for entry '%s'." +msgstr "Privilège « add » insuffisant pour l'entrée « %s »." + +msgid "Delete a CA." +msgstr "Supprimer une AC." + +#, python-format +msgid "Deleted CA \"%(value)s\"" +msgstr "AC « %(value)s » supprimée" + +msgid "CA" +msgstr "AC" + +msgid "IPA CA cannot be deleted" +msgstr "L'AC de IPA ne peut être supprimée" + +msgid "Modify CA configuration." +msgstr "Modifier la configuration de l'AC" + +#, python-format +msgid "Modified CA \"%(value)s\"" +msgstr "AC « %(value)s » modifiée" + msgid "" "\n" "Manage CA ACL rules.\n" @@ -2281,14 +3219,17 @@ msgid "" "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" +" \"UserCert\" profile on all CAs:\n" +" ipa caacl-add test --usercat=all --cacat=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" +" Create a CA ACL to let user \"alice\" use the \"DNP3\" profile on \"DNP3-CA" +"\":\n" +" ipa caacl-add alice_dnp3\n" +" ipa caacl-add-ca alice_dnp3 --cas DNP3-CA\n" " ipa caacl-add-profile alice_dnp3 --certprofiles DNP3\n" " ipa caacl-add-user alice_dnp3 --user=alice\n" "\n" @@ -2301,7 +3242,8 @@ 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" +"Ce greffon 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" @@ -2316,7 +3258,7 @@ msgstr "" "\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 test --usercat=all --cacat=all\n" " ipa caacl-add-profile test --certprofiles UserCert\n" "\n" " Afficher les propriétés d'une LCA d'AC nommée :\n" @@ -2324,6 +3266,8 @@ msgstr "" "\n" " Créer une LCA d'AC autorisant l'utilisatrice « alice » à utiliser le " "profile « DNP3 » :\n" +" ipa caacl-add alice_dnp3\n" +" ipa caacl-add-ca alice_dnp3 --cas DNP3-CA\n" " ipa caacl-add-profile alice_dnp3 --certprofiles DNP3\n" " ipa caacl-add-user alice_dnp3 --user=alice\n" "\n" @@ -2343,7 +3287,13 @@ msgid "ACL name" msgstr "Nom de la LCA" msgid "Enabled" -msgstr "Activée" +msgstr "Activé(e)" + +msgid "CA category" +msgstr "Catégorie d'AC" + +msgid "CA category the ACL applies to" +msgstr "Catégorie d'AC à laquelle l'ACL s'applique" msgid "Profile category" msgstr "Catégorie de profil" @@ -2369,6 +3319,9 @@ msgstr "Catégorie de service" msgid "Service category the ACL applies to" msgstr "Catégorie de service à laquelle la LCA s'applique" +msgid "CAs" +msgstr "AC" + msgid "Profiles" msgstr "Profils" @@ -2395,6 +3348,9 @@ msgstr "Supprimer une LCA d'AC." msgid "Deleted CA ACL \"%(value)s\"" msgstr "LCA d'AC « %(value)s » supprimée" +msgid "default CA ACL can be only disabled" +msgstr "La LCA d'AC par défaut ne peut qu'être désactivée" + msgid "Modify a CA ACL." msgstr "Modifier une LCA d'AC." @@ -2402,6 +3358,11 @@ msgstr "Modifier une LCA d'AC." msgid "Modified CA ACL \"%(value)s\"" msgstr "LCA d'AC « %(value)s » modifiée" +msgid "CA category cannot be set to 'all' while there are allowed CAs" +msgstr "" +"une catégorie d'AC ne peut pas être définie à « all » tant qu'il reste des " +"AC autorisées" + msgid "" "profile category cannot be set to 'all' while there are allowed profiles" msgstr "" @@ -2530,9 +3491,6 @@ msgstr "%i service supprimé." 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." @@ -2560,196 +3518,46 @@ msgstr "%i profil supprimé." 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" -"\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 "" -"\n" -"Opérations de certification IPA\n" -"\n" -"Implémente un jeu de commandes pour gérer les certificats SSL du serveur.\n" -"\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\n" -"du sujet aux valeurs configurées dans le serveur.\n" -"\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 (utiliser --add pour l'ajouter automatiquement)\n" -"\n" -"RECHERCHE :\n" -"\n" -"Les certificats peuvent être recherchés par sujet, numéro de série,\n" -"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. Combinées, elles sont équivalentes à un AND.\n" -"\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" -"EXEMPLES :\n" -"\n" -" Demander un nouveau certificat et ajouter le principal :\n" -" ipa cert-request --add --principal=HTTP/lion.example.com example.csr\n" -"\n" -" Retrouver un certificat existant :\n" -" ipa cert-show 1032\n" -"\n" -" Révoquer un certificat (voir RFC 5280 pour le détail des raisons) :\n" -" ipa cert-revoke --revocation-reason=6 1032\n" -"\n" -" Lever l'état de maintien de révocation d'un certificat :\n" -" ipa cert-remove-hold 1032\n" -"\n" -" Vérifier l'état d'une demande de signature :\n" -" ipa cert-status 10\n" -"\n" -" Rechercher des certificats par nom d'hôte :\n" -" ipa cert-find --subject=ipaserver.example.com\n" -"\n" -" Rechercher les certificats révoqués par motif :\n" -" ipa cert-find --revocation-reason=5\n" -"\n" -" 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 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 » (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 code 7 ne sert pas. Voir RFC 5280 pour plus de détails :\n" -"\n" -"http://www.ietf.org/rfc/rfc5280.txt\n" -"\n" +msgid "Add CAs to a CA ACL." +msgstr "Ajouter des AC à une LCA d'AC" #, python-format -msgid "Failure decoding Certificate Signing Request: %s" -msgstr "Échec dans le décodage du « Certificate Signing Request » : %s" +msgid "%i CA added." +msgstr "%i AC ajoutée." -msgid "CA is not configured" -msgstr "L'AC n'est pas configurée" +#, python-format +msgid "%i CAs added." +msgstr "%i AC ajoutées." -msgid "Submit a certificate signing request." -msgstr "Soumettre une demande de signature de certificat." +msgid "CAs cannot be added when CA category='all'" +msgstr "" +"des AC ne peuvent pas être ajoutées quand la catégorie de l'AC est « all »" -msgid "CSR" -msgstr "CSR" +msgid "Remove CAs from a CA ACL." +msgstr "Supprimer des AC d'une LCA d'AC" -msgid "Principal" -msgstr "Principal" +#, python-format +msgid "%i CA removed." +msgstr "%i AC supprimée." -msgid "Principal for this certificate (e.g. HTTP/test.example.com)" -msgstr "Principal de ce certificate (par exemple : HTTP/test.example.com)" +#, python-format +msgid "%i CAs removed." +msgstr "%i AC supprimées." -msgid "automatically add the principal if it doesn't exist" -msgstr "ajoute automatiquement le principal s'il n'existe pas" +#, python-format +msgid "Failure decoding Certificate Signing Request: %s" +msgstr "Échec dans le décodage du « Certificate Signing Request » : %s" -msgid "Profile ID" -msgstr "ID de profil" +msgid "CA is not configured" +msgstr "L'AC n'est pas configurée" -msgid "Certificate Profile to use" -msgstr "Profil de certificat à utiliser" +#, 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 "Subject" msgstr "Sujet" @@ -2772,19 +3580,44 @@ msgstr "Empreinte (SHA1)" msgid "Serial number" msgstr "Numéro de série" +msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" +msgstr "Numéro de série en décimal (ou en hexadécimal avec le préfixe 0x)" + msgid "Serial number (hex)" msgstr "Numéro de série (hex)" -msgid "Dictionary mapping variable name to value" -msgstr "Annuaire associant un nom de variable à une valeur" +msgid "Issuing CA" +msgstr "AC émettrice" -#, 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 "Name of issuing CA" +msgstr "Nom de l'AC émettrice" + +msgid "Profile ID" +msgstr "ID de profil" + +msgid "Certificate Profile to use" +msgstr "Profil de certificat à utiliser" + +msgid "Request status" +msgstr "État de la demande" + +msgid "Request id" +msgstr "Identifiant de la demande" + +msgid "Submit a certificate signing request." +msgstr "Soumettre une demande de signature de certificat." + +msgid "CSR" +msgstr "CSR" + +msgid "Principal" +msgstr "Principal" + +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 "The principal for this request doesn't exist." msgstr "Le principal pour cette demande n'existe pas." @@ -2800,9 +3633,9 @@ 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" +msgid "DN commonName does not match user's login" msgstr "" -"Le « common name » du DN ne correspond à aucune des adresses email de " +"Le « commonName » du DN ne correspond pas à l'identifiant de connexion de " "l'utilisateur" msgid "DN emailAddress does not match any of user's email addresses" @@ -2811,10 +3644,6 @@ msgstr "" "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'." @@ -2866,39 +3695,33 @@ 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." -msgid "Request id" -msgstr "Identifiant de la demande" +msgid "Status" +msgstr "État" -msgid "Request status" -msgstr "État de la demande" +msgid "Revoked" +msgstr "Révoqué" -msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" -msgstr "Numéro de série en décimal (ou en hexadécimal avec le préfixe 0x)" +msgid "Revocation reason" +msgstr "Raison de la révocation" msgid "Retrieve an existing certificate." msgstr "Récupérer un certificat existant." -msgid "Revocation reason" -msgstr "Raison de la révocation" - msgid "Output filename" msgstr "Nom de fichier de sortie" msgid "File to store the certificate in." msgstr "Fichier dans lequel stocker le certificat." +#, python-format +msgid "" +"Certificate with serial number %(serial)s issued by CA '%(ca)s' not found" +msgstr "" +"Certificat de l'AC « %(ca)s » avec le numéro de série %(serial)s introuvable" + msgid "Revoke a certificate." msgstr "Révoquer un certificat." -msgid "Revoked" -msgstr "Révoqué" - -msgid "Reason" -msgstr "Raison" - -msgid "Reason for revoking the certificate (0-10)" -msgstr "Raison de révocation du certificat (0-10)" - msgid "7 is not a valid revocation reason" msgstr "7 n'est pas une raison de révocation valide" @@ -2947,12 +3770,6 @@ msgstr "Révoqué à partir de cette date (AAAA-mm-jj)" msgid "Revoked on to this date (YYYY-mm-dd)" msgstr "Révoqué à cette date (AAAA-mm-jj)" -msgid "Maximum number of certs returned" -msgstr "Nombre maximum de certificats renvoyés" - -msgid "Status" -msgstr "État" - #, python-format msgid "%(count)d certificate matched" msgid_plural "%(count)d certificates matched" @@ -2983,17 +3800,37 @@ msgid "" "\n" " Import a profile that will not store issued certificates:\n" " ipa certprofile-import ShortLivedUserCert \\\n" -" --file UserCert.profile --summary \"User Certificates\" \\\n" +" --file UserCert.profile --desc \"User Certificates\" \\\n" " --store=false\n" "\n" -" Delete a certificate profile:\n" -" ipa certprofile-del ShortLivedUserCert\n" +" Delete a certificate profile:\n" +" ipa certprofile-del ShortLivedUserCert\n" +"\n" +" Show information about a profile:\n" +" ipa certprofile-show ShortLivedUserCert\n" +"\n" +" Save profile configuration to a file:\n" +" ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg\n" +"\n" +" Search for profiles that do not store certificates:\n" +" ipa certprofile-find --store=false\n" +"\n" +"PROFILE CONFIGURATION FORMAT:\n" +"\n" +"The profile configuration format is the raw property-list format\n" +"used by Dogtag Certificate System. The XML format is not supported.\n" +"\n" +"The following restrictions apply to profiles managed by FreeIPA:\n" +"\n" +"- When importing a profile the \"profileId\" field, if present, must\n" +" match the ID given on the command line.\n" +"\n" +"- The \"classId\" field must be set to \"caEnrollImpl\"\n" "\n" -" Show information about a profile:\n" -" ipa certprofile-show ShortLivedUserCert\n" +"- The \"auth.instance_id\" field must be set to \"raCertAuth\"\n" "\n" -" Search for profiles that do not store certificates:\n" -" ipa certprofile-find --store=false\n" +"- The \"certReqInputImpl\" input class and \"certOutputImpl\" output\n" +" class must be used.\n" "\n" msgstr "" "\n" @@ -3009,33 +3846,55 @@ msgstr "" "\n" "Le format du profil de certificat est un format de liste de propriétés qui " "sera\n" -"compris par un autorité de certification Dogtag ou Red Hat Certificate " +"compris par une autorité de certification Dogtag ou Red Hat Certificate " "System.\n" "\n" -"SYNTAXE DE L'IDENTIFIANT DE PROFIL :\n" +"SYNTAXE DE L'IDENTIFIANT DE PROFIL :\n" "\n" "Un identifiant de profil est une chaîne de caractères sans espaces ni " "caractère de\n" "ponctuation débutant par une lettre suivie d'une séquence de lettres, de " "chiffres et\n" -"de caractère souligné (\"_\").\n" +"de caractère souligné (« _ »).\n" "\n" -"EXEMPLES :\n" +"EXEMPLES :\n" "\n" -" Importer un profil qui ne stockera pas les certificats émis :\n" +" Importer un profil qui ne stockera pas les certificats émis :\n" " ipa certprofile-import ShortLivedUserCert \\\n" " --file UserCert.profile --summary \"User Certificates\" \\\n" " --store=false\n" "\n" -" Supprimer un profil de certificat :\n" +" Supprimer un profil de certificat :\n" " ipa certprofile-del ShortLivedUserCert\n" "\n" -" Afficher les informations sur un profil :\n" +" Afficher les informations sur un profil :\n" " ipa certprofile-show ShortLivedUserCert\n" "\n" -" Rechercher des profils ne stockant pas les certificats :\n" +" Enregistrer la configuration du profil dans un fichier :\n" +" ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg\n" +"\n" +" Rechercher des profils ne stockant pas les certificats :\n" " ipa certprofile-find --store=false\n" "\n" +"FORMAT DE LA CONFIGURATION DE PROFIL :\n" +"\n" +"Le format de configuration de profil est un format brut de liste de \n" +"propriété utilisé par Dogtag Certificate System. Le format XML n'est\n" +"pas pris en charge.\n" +"\n" +"Les restrictions suivantes s'appliquent aux profils gérés par FreeIPA :\n" +"\n" +"- Lors de l'import d'un profil, le champ « profileId » s'il est présent " +"doit\n" +" correspondre à l'identifiant donné sur la ligne de commande.\n" +"\n" +"- Le champ « classId » doit être « caEnrollImpl »\n" +"\n" +"- Le champ « auth.instance_id  doit être « raCertAuth »\n" +"\n" +"- Les classe d'entrée « certReqInputImpl » et de sortie « certOutputImpl » " +"doivent \n" +" être utilisées.\n" msgid "invalid Profile ID" msgstr "Identifiant de profil invalide" @@ -3073,6 +3932,12 @@ 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 "Profile configuration" +msgstr "Configuration de profil" + +msgid "Write profile configuration to file" +msgstr "Écrire le profil de configuration dans un fichier" + msgid "Import a Certificate Profile." msgstr "Importer un profil de certificat." @@ -3080,11 +3945,8 @@ msgstr "Importer un profil de certificat." msgid "Imported profile \"%(value)s\"" msgstr "Profil « %(value)s » importé" -msgid "Filename" -msgstr "Nom de fichier" - -msgid "Profile ID is not present in profile data" -msgstr "Identifiant de profil absent des données du profil" +msgid "Filename of a raw profile. The XML format is not supported." +msgstr "Nom de fichier du profil brut. Le format XML n'est pas pris en charge." #, python-format msgid "Profile ID '%(cli_value)s' does not match profile data '%(file_value)s'" @@ -3099,6 +3961,10 @@ msgstr "Supprimer un profil de certificat." msgid "Deleted profile \"%(value)s\"" msgstr "Profil « %(value)s » supprimé" +#, python-format +msgid "Predefined profile '%(profile_id)s' cannot be deleted" +msgstr "Le profil prédéfini « %(profile_id)s » ne peut être supprimé" + msgid "Modify Certificate Profile configuration." msgstr "Modifier la configuration d'un profil de certificat." @@ -3106,6 +3972,12 @@ msgstr "Modifier la configuration d'un profil de certificat." msgid "Modified Certificate Profile \"%(value)s\"" msgstr "Profil de certificat « %(value)s » modifié" +msgid "File containing profile configuration" +msgstr "Fichier contenant la configuration du profil" + +msgid "Certificate profiles cannot be renamed" +msgstr "Les profils de certificats ne peuvent être renommés" + msgid "" "\n" "Server configuration\n" @@ -3203,9 +4075,6 @@ msgstr "" " 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." - msgid "configuration options" msgstr "options de configuration" @@ -3222,7 +4091,7 @@ msgid "Default location of home directories" msgstr "Emplacement par défaut des répertoires utilisateur" msgid "Default shell" -msgstr "Interprèteur par défaut" +msgstr "Interpréteur de commande par défaut" msgid "Default shell for new users" msgstr "Interpréteur de commande par défaut pour les nouveaux utilisateurs" @@ -3239,15 +4108,14 @@ msgstr "Domaine par défaut pour les courriels" msgid "Search time limit" 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ée)" +msgid "Maximum amount of time (seconds) for a search (-1 or 0 is unlimited)" +msgstr "Durée maximale (secondes) pour une recherche (0 ou -1 pour illimitée)" msgid "Search size limit" msgstr "Limite de taille d'une recherche" -msgid "Maximum number of records to search (-1 is unlimited)" -msgstr "Nombre maximum d'entrées à rechercher (-1 pour illimité)" +msgid "Maximum number of records to search (-1 or 0 is unlimited)" +msgstr "Nombre maximum d'entrées à rechercher (-1 ou 0 pour illimité)" msgid "User search fields" msgstr "Champs de recherche utilisateur" @@ -3323,6 +4191,30 @@ msgstr "Types d'authentification utilisateur par défaut" msgid "Default types of supported user authentication" msgstr "Types d'authentification utilisateur pris en charge par défaut" +msgid "IPA masters" +msgstr "Maîtres IPA" + +msgid "List of all IPA masters" +msgstr "Liste des maîtres IPA" + +msgid "IPA CA servers" +msgstr "Serveurs d'AC IPA" + +msgid "IPA servers configured as certificate authority" +msgstr "Serveurs IPA configurés comme autorité de certification" + +msgid "IPA NTP servers" +msgstr "Serveurs NTP IPA" + +msgid "IPA servers with enabled NTP" +msgstr "Serveurs IPA où NTP est activé" + +msgid "IPA CA renewal master" +msgstr "Maître de renouvellement d'AC IPA" + +msgid "Renewal master for IPA certificate authority" +msgstr "Maître en charge du renouvellement de l'autorité de certification" + msgid "Modify configuration options." msgstr "Modifier les options de configuration." @@ -3961,6 +4853,7 @@ msgstr "" " * Zone redirigée : les zones transférées ne contiennent aucune donnée \n" " faisant autorité. BIND transmet les requêtes qui ne peuvent être \n" " servies par son cache local aux serveurs de redirection configurés.\n" +" \n" msgid "" "\n" @@ -4117,14 +5010,6 @@ msgstr "" msgid "Permission value" msgstr "Valeur de permission" -#, python-format -msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" -msgstr "" -"version d'adresse IP invalide (est %(value)d, doit être %(required_value)d) !" - -msgid "invalid IP address format" -msgstr "format d'adresse IP invalide" - msgid "invalid IP network format" msgstr "format de réseau IP invalide" @@ -4134,10 +5019,6 @@ msgstr "chaque élément de LCA doit se terminer par un point-virgule" msgid "invalid address format" msgstr "format d'adresse invalide" -#, python-format -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" @@ -4166,8 +5047,12 @@ msgid "should not be a wildcard domain name (RFC 4592 section 4)" msgstr "ne doit pas être un nom de domaine avec joker (RFC 4592 section 4)" #, python-format -msgid "DNS reverse zone for IP address %(addr)s not found" -msgstr "Zone DNS inverse introuvable pour l'adresse IP %(addr)s" +msgid "" +"DNS reverse zone %(revzone)s for IP address %(addr)s is not managed by this " +"server" +msgstr "" +"La zone DNS inverse %(revzone)s pour l'adresse IP %(addr)s n'est pas gérée " +"par ce serveur." #, python-format msgid "DNS zone %(zone)s not found" @@ -4464,6 +5349,10 @@ msgstr "" msgid "DNS is not configured" msgstr "Le DNS n'est pas configuré" +msgid "Force DNS zone creation even if it will overlap with an existing zone." +msgstr "" +"Forcer la création de la zone DNS même si elle recouvre une zone existante." + msgid "Only one zone type is allowed per zone name" msgstr "Un seul type de zone autorisé par nom de zone" @@ -4594,16 +5483,6 @@ msgstr "" "Enregistrement NSEC3PARAM pour une zone au format : algorithme_hachage " "marqueurs itérations salt." -msgid "Visit 'http://www.freeipa.org/page/Releases/4.1.0#DNSSEC_Support'." -msgstr "Consulter 'http://www.freeipa.org/page/Releases/4.1.0#DNSSEC_Support'." - -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 "setting Authoritative nameserver" msgstr "configuration du serveur de nom ayant autorité" @@ -4617,8 +5496,11 @@ msgstr "" msgid "Create new DNS zone (SOA record)." msgstr "Créer une nouvelle zone DNS (enregistrement SOA)." -msgid "Force" -msgstr "Forcer" +msgid "" +"Force DNS zone creation even if nameserver is not resolvable. (Deprecated)" +msgstr "" +"Forcer la création de la zone DNS même si le serveur de nom n'est pas " +"résoluble. (Obsolète)" msgid "Force DNS zone creation even if nameserver is not resolvable." msgstr "" @@ -4638,6 +5520,9 @@ msgstr "Zone DNS « %(value)s » supprimée" msgid "Modify DNS zone (SOA record)." msgstr "Modifier la zone DNS (enregistrement SOA)." +msgid "Force" +msgstr "Forcer" + msgid "Force nameserver change even if nameserver not in DNS" msgstr "" "Forcer un changement de serveur de nom même si le serveur de nom n'est pas " @@ -4777,20 +5662,6 @@ msgstr "" "forcer la création d'un enregistrement NS même si le nom du système n'est " "pas dans le DNS" -msgid "Please choose a type of DNS resource record to be added" -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 d'enregistrement de ressource DNS" - -#, python-format -msgid "Invalid or unsupported type. Allowed values are: %s" -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 "" @@ -4807,30 +5678,6 @@ msgid "DNS records can be only updated one at a time" 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 donné." - -msgid "Current DNS record contents:\n" -msgstr "Contenu actuel de l'enregistrement DNS :\n" - -#, python-format -msgid "Modify %(name)s '%(value)s'?" -msgstr "Modifier '%(value)s' pour %(name)s ?" - -#, 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] "" -"%(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 modifiable par " -"enregistrement DNS." - #, python-format msgid "Deleted record \"%(value)s\"" msgstr "Enregistrement « %(value)s » supprimé" @@ -4838,15 +5685,6 @@ msgstr "Enregistrement « %(value)s » supprimé" msgid "Delete DNS resource record." msgstr "Supprimer un enregistrement de ressources DNS." -msgid "" -"Neither --del-all nor options to delete a specific record provided.\n" -"Command help may be consulted for all supported record types." -msgstr "" -"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" @@ -4854,29 +5692,22 @@ msgstr "Supprimer les enregistrements associés" 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 donné." - -msgid "Delete all?" -msgstr "Tout supprimer ?" - -#, python-format -msgid "Delete %(name)s '%(value)s'?" -msgstr "Supprimer '%(value)s' pour %(name)s ?" - msgid "Display DNS resource." msgstr "Afficher un enregistrement de ressources DNS." msgid "Search for DNS resources." msgstr "Rechercher des enregistrements de ressources DNS." -msgid "Resolve a host name in DNS." -msgstr "Résoudre un nom de système DNS." +msgid "Resolve a host name in DNS. (Deprecated)" +msgstr "Résoudre un nom de système DNS. (Obsolète)" #, python-format msgid "Found '%(value)s'" msgstr "'%(value)s' trouvé." +msgid "Hostname (FQDN)" +msgstr "Nom d'hôte (FQDN)" + #, python-format msgid "Host '%(host)s' not found" msgstr "Hôte « %(host)s » introuvable" @@ -4912,18 +5743,32 @@ msgstr "" msgid "Zone refresh interval" msgstr "Intervalle de rafraîchissement de zone" +msgid "An interval between regular polls of the name server for new DNS zones" +msgstr "" +"Délai entre deux interrogations du serveur de noms pour la recherche de " +"nouvelles zones" + +msgid "IPA DNS version" +msgstr "Version du DNS de IPA." + +msgid "IPA DNS servers" +msgstr "Serveurs DNS IPA" + +msgid "List of IPA masters configured as DNS servers" +msgstr "Liste des maîtres IPA configurés comme serveurs DNS" + +msgid "IPA DNSSec key master" +msgstr "Maître des clés DNSSec IPA" + +msgid "IPA server configured as DNSSec key master" +msgstr "Serveur IPA configuré comme maître des clés DNSSec" + msgid "Global DNS configuration is empty" msgstr "La configuration globale DNS est vide" msgid "Modify global DNS configuration." msgstr "Modifier la configuration DNS globale." -msgid "Server will check DNS forwarder(s)." -msgstr "Le serveur vérifiera le ou les serveurs de redirection DNS." - -msgid "This may take some time, please wait ..." -msgstr "Cela peut prendre un peu de temps, veuillez patienter..." - msgid "Show the current global DNS configuration." msgstr "Afficher la configuration DNS globale." @@ -4983,6 +5828,145 @@ 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 redirection." +msgid "IPA DNS records" +msgstr "Enregistrements DNS IPA" + +msgid "IPA location records" +msgstr "Enregistrements du ou des emplacements IPA" + +msgid "Update location and IPA server DNS records" +msgstr "Mettre à jour les enregistrements DNS des emplacements et serveurs IPA" + +msgid "Result of the command" +msgstr "Résultat de la commande" + +msgid "Dry run" +msgstr "Essai à blanc" + +msgid "" +"\n" +"DNS server configuration\n" +msgstr "" +"\n" +"Configuration du serveur DNS\n" + +msgid "" +"\n" +"Manipulate DNS server configuration\n" +msgstr "" +"\n" +"Manipulation de la configuration du serveur DNS\n" + +msgid "" +"\n" +" Show configuration of a specific DNS server:\n" +" ipa dnsserver-show\n" +msgstr "" +"\n" +"Afficher la configuration d'un serveur DNS spécifique :\n" +" ipa dnsserver-show\n" + +msgid "" +"\n" +" Update configuration of a specific DNS server:\n" +" ipa dnsserver-mod\n" +msgstr "" +"\n" +" Modifier la configuration d'un serveur DNS spécifique :\n" +" ipa dnsserver-mod\n" + +msgid "DNS server" +msgstr "Serveur DNS" + +msgid "DNS servers" +msgstr "Serveurs DNS" + +msgid "DNS Servers" +msgstr "Serveurs DNS" + +msgid "DNS Server" +msgstr "Serveur DNS" + +msgid "Server name" +msgstr "Nom du serveur" + +msgid "DNS Server name" +msgstr "Nom du serveur DNS" + +msgid "Forwarders" +msgstr "Redirecteurs de zone" + +msgid "" +"Per-server forwarders. A custom port can be specified for each forwarder " +"using a standard format \"IP_ADDRESS port PORT\"" +msgstr "" +"Redirecteurs par serveur. Un port personnalisé peut être indiqué pour chaque " +"redirecteur avec le format standard « adresse_IP port PORT »" + +msgid "" +"Per-server conditional forwarding policy. Set to \"none\" to disable " +"forwarding to global forwarder for this zone. In that case, conditional zone " +"forwarders are disregarded." +msgstr "" +"Politique de redirection conditionnelle par serveur. Mettre à « none » pour " +"désactiver la redirection vers un redireteur global pour cette zone. Dans ce " +"cas, les redirecteurs de zone conditionnels sont ignorés." + +msgid "Modify DNS server configuration" +msgstr "Modifier la configuration du serveur DNS" + +#, python-format +msgid "Modified DNS server \"%(value)s\"" +msgstr "Serveur DNS « %(value)s » modifié" + +msgid "Search for DNS servers." +msgstr "Rechercher des serveurs DNS." + +#, python-format +msgid "%(count)d DNS server matched" +msgid_plural "%(count)d DNS servers matched" +msgstr[0] "%(count)d serveur DNS correspondant" +msgstr[1] "%(count)d serveurs DNS correspondants" + +msgid "Display configuration of a DNS server." +msgstr "Afficher la configuration d'un nouveau serveur DNS." + +msgid "Add a new DNS server." +msgstr "Ajouter un nouveau serveur DNS." + +#, python-format +msgid "Added new DNS server \"%(value)s\"" +msgstr "Nouveau serveur DNS « %(value)s » ajouté" + +msgid "Delete a DNS server" +msgstr "Supprimer un serveur DNS" + +#, python-format +msgid "Deleted DNS server \"%(value)s\"" +msgstr "Serveur DNS « %(value)s » supprimé" + +msgid "Unable to communicate with CMS" +msgstr "Impossible de communiquer avec le CMS" + +msgid "find not supported on CAs upgraded from 9 to 10" +msgstr "" +"recherche non prise en charge sur les CA mis à jour de la version 9 à la " +"version 10" + +msgid "Failed to authenticate to CA REST API" +msgstr "Échec de l'authentification auprès de l'API REST de l'AC" + +msgid "REST API is not logged in." +msgstr "L'API REST n'est pas connectée." + +#, python-format +msgid "Non-2xx response from CA REST API: %(status)d. %(explanation)s" +msgstr "" +"Réponse non 2xx reçue de l'API REST de l'AC : %(status)d. %(explanation)s" + +msgid "Response from CA was not valid JSON" +msgstr "La réponse de l'AC n'est pas dans un format JSON valide" + msgid "" "\n" "Raise the IPA Domain Level.\n" @@ -5193,6 +6177,12 @@ msgstr "" "\n" " ipa group-show ad_admins_external\n" +msgid "External member" +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" + msgid "group" msgstr "groupe" @@ -5211,12 +6201,6 @@ msgstr "Description du groupe" msgid "GID (use this option to set it manually)" msgstr "GID (utiliser cette option pour le définir manuellement)" -msgid "External member" -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" - msgid "Create a new group." msgstr "Créer un nouveau groupe." @@ -5325,6 +6309,9 @@ msgstr "modification des entrées de groupe interdite" msgid "Not a managed group" msgstr "Pas un groupe administré" +msgid "Host-based access control commands" +msgstr "Commandes de contrôle d'accès basé sur l'hôte" + msgid "" "\n" "Host-based access control\n" @@ -5424,9 +6411,6 @@ msgstr "" " ipa hbacrule-del allow_server\n" "\n" -msgid "Host-based access control commands" -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." @@ -5452,13 +6436,25 @@ msgid "Rule type" msgstr "Type de règle" msgid "User category the rule applies to" -msgstr "Catégorie d'utilisateurs sur laquelle la règle s'applique" +msgstr "Catégorie d'utilisateurs à laquelle la règle s'applique" msgid "Host category the rule applies to" -msgstr "Catégorie d'hôtes sur laquelle la règle s'applique" +msgstr "Catégorie d'hôtes à laquelle la règle s'applique" + +msgid "Source host category" +msgstr "Catégorie d'hôtes sources" + +msgid "Source host category the rule applies to" +msgstr "Catégorie d'hôtes sources à laquelle la règle s'applique" msgid "Service category the rule applies to" -msgstr "Catégorie de services sur laquelle la règle s'applique" +msgstr "Catégorie de services à laquelle la règle s'applique" + +msgid "Source Hosts" +msgstr "Hôtes sources" + +msgid "Source Host Groups" +msgstr "Groupes d'hôtes sources" msgid "Service Groups" msgstr "Groupes de services" @@ -5576,9 +6572,6 @@ msgstr "" " ipa hbacsvc-del tftp\n" "\n" -msgid "Host based access control commands" -msgstr "Commandes HBAC." - msgid "HBAC service" msgstr "Service HBAC" @@ -6140,6 +7133,9 @@ msgstr "Résultat de la simulation" msgid "User name" msgstr "Nom d'utilisateur" +msgid "Source host" +msgstr "Hôte source" + msgid "Target host" msgstr "Hôte cible" @@ -6339,9 +7335,6 @@ msgstr "Numéro de série" msgid "Serial Number (hex)" msgstr "Numéro de série (hex)" -msgid "Failed managedby" -msgstr "Échec de « managedby »" - msgid "Users allowed to retrieve keytab" msgstr "Utilisateurs autorisés à récupérer un tableau de clés" @@ -6366,16 +7359,6 @@ 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" -msgid "Failed allowed to retrieve keytab" -msgstr "Échec de l'autorisation de récupération des tableaux de clés" - -msgid "Failed allowed to create keytab" -msgstr "Échec de l'autorisation de création de tableaux de clés" - -#, python-format -msgid "invalid domain-name: %s" -msgstr "nom de domaine invalide : %s" - msgid "host" msgstr "hôte" @@ -6421,6 +7404,9 @@ msgstr "Mot de passe utilisé pour les inscriptions en masse" msgid "Generate a random password to be used in bulk enrollment" msgstr "Créer un mot de passe aléatoire utilisé pour l'inscription en masse" +msgid "Base-64 encoded host certificate" +msgstr "Certificat de l'hôte encodé en Base-64" + msgid "Principal name" msgstr "Nom principal" @@ -6466,8 +7452,13 @@ msgstr "Supprimer un hôte." msgid "Deleted host \"%(value)s\"" msgstr "Hôte « %(value)s » supprimé" -msgid "Remove entries from DNS" -msgstr "Supprimer les entrées du DNS" +msgid "Remove A, AAAA, SSHFP and PTR records of the host(s) managed by IPA DNS" +msgstr "" +"Supprimer les enregistrements A, AAAA, SSHFP et PTR de l'hôte géré par le " +"DNS de IPA." + +msgid "No A, AAAA, SSHFP or PTR records found." +msgstr "Aucun enregistrement A, AAAA, SSHFP ou PTR trouvé." msgid "Modify information about a host." msgstr "Modifier les informations d'un hôte." @@ -6503,10 +7494,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(s) stored in file '%(file)s'" -msgstr "Certificat(s) enregistré(s) 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 " @@ -6547,6 +7534,20 @@ msgstr "" "Interdire aux utilisateurs, hôtes ou groupes d'hôtes de créer un tableau de " "clés de cet hôte." +msgid "Add certificates to host entry" +msgstr "Ajouter les certificats à l'entrée de l'hôte" + +#, python-format +msgid "Added certificates to host \"%(value)s\"" +msgstr "Certificats ajoutés à l'hôte « %(value)s »" + +msgid "Remove certificates from host entry" +msgstr "Supprimer les certificats de l'entrée de l'hôte" + +#, python-format +msgid "Removed certificates from host \"%(value)s\"" +msgstr "Certificats supprimés pour l'hôte « %(value)s »" + msgid "" "\n" "Groups of hosts.\n" @@ -6636,8 +7637,8 @@ msgid "" "netgroup with name \"%s\" already exists. Hostgroups and netgroups share a " "common namespace" msgstr "" -"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." +"Un groupe réseau nommé « %s » existe déjà. Les groupes d'hôtes et les " +"groupes réseau partagent un même espace de noms." msgid "Delete a hostgroup." msgstr "Supprimer un groupe d'hôtes." @@ -6646,6 +7647,12 @@ msgstr "Supprimer un groupe d'hôtes." msgid "Deleted hostgroup \"%(value)s\"" msgstr "Groupe d'hôtes « %(value)s » supprimé" +msgid "hostgroup" +msgstr "groupe d'hôtes" + +msgid "privileged hostgroup" +msgstr "groupe d'hôtes privilégiés" + msgid "Modify a hostgroup." msgstr "Modifier un groupe d'hôtes." @@ -6671,6 +7678,7 @@ msgstr "Ajouter des membres à un groupe d'hôtes." msgid "Remove members from a hostgroup." msgstr "Supprimer des membres d'un groupe d'hôtes." +#, python-brace-format msgid "" "\n" "ID ranges\n" @@ -6802,20 +7810,7 @@ msgid "" "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" +"{0}\n" msgstr "" "\n" "Plages d'identifiants\n" @@ -6835,11 +7830,11 @@ msgstr "" "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" +"De 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" "\n" -"et une plage d'ID d'un domaine approuvé peut déterminer\n" +"et une plage d'ID d'un domaine approuvé doit définir\n" " - « rid-base » : le premier RID de la plage de RID correspondante\n" " - « sid » : le domaine SID du domaine approuvé\n" "\n" @@ -6853,8 +7848,8 @@ msgstr "" " 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 sera utilisée par le serveur IPA et le fournisseur SSSD " -"IPA\n" +"Cette plage d'ID sera utilisée par le serveur IPA et le fournisseur IPA de " +"SSSD\n" "pour assigner des UID Posix aux utilisateurs du domaine approuvé.\n" "\n" "Si par ex. une plage pour un domaine approuvé est configurée ainsi :\n" @@ -6907,21 +7902,26 @@ msgstr "" " Ajouter une plage d'ID à partir d'un domaine approuvé par transmission\n" "\n" " Si le domaine approuvé (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" +" 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\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" +" 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" @@ -6939,19 +7939,7 @@ msgstr "" "pour\n" "les utilisateurs et les groupes.\n" "\n" -"AVERTISSEMENT :\n" -"\n" -"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\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 " -"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" +"{0}\n" msgid "ID Ranges" msgstr "Plages d'ID" @@ -7023,6 +8011,7 @@ msgid "SID is not recognized as a valid SID for a trusted domain" msgstr "" "Le SID n'est pas reconnu en tant que SID valide pour un domaine approuvé" +#, python-brace-format msgid "" "\n" " Add new ID range.\n" @@ -7044,27 +8033,13 @@ msgid "" "\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" -" " +"{0}\n" msgstr "" "\n" -"Ajouter une nouvelle plage d'identifiants.\n" +"Ajouter une nouvelle plage d''identifiants.\n" "\n" -"Pour ajouter une nouvelle plage d'identifiants vous devez toujours préciser\n" +"Pour ajouter une nouvelle plage d''identifiants vous devez toujours " +"préciser\n" "\n" "--base-id\n" "--range-size\n" @@ -7074,28 +8049,16 @@ msgstr "" "--rid-base\n" "--secondary-rid-base\n" "\n" -"seront indiqués pour une nouvelle plage d'ID dans le domaine local alors " -"que\n" +"seront indiqués pour une nouvelle plage d''identifiants 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 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" -" " +"{0}\n" #, python-format msgid "Added ID range \"%(value)s\"" @@ -7176,13 +8139,28 @@ msgstr[1] "%(count)d plages correspondant" msgid "Display information about a range." msgstr "Afficher les informations sur une plage." -msgid "Modify ID range." -msgstr "Modifier une plage." +#, python-brace-format +msgid "" +"Modify ID range.\n" +"\n" +"{0}\n" +msgstr "" +"Modifier une plage d''identifiants.\n" +"\n" +"{0}\n" #, python-format msgid "Modified ID range \"%(value)s\"" msgstr "Plage d'ID « %(value)s » modifiée" +msgid "" +"This command can not be used to change ID allocation for local IPA domain. " +"Run `ipa help idrange` for more information" +msgstr "" +"Cette commande ne peut être utilisée que pour modifier l'allocation d'ID " +"pour le domaine local. Utilisez « ipa help idrange » pour plus " +"d'informations." + msgid "Options dom-sid and secondary-rid-base cannot be used together" msgstr "" "Les options « dom-sid » et « secondary-rid-base » ne peuvent pas être " @@ -7217,6 +8195,16 @@ msgstr "Vue d'identifiants" msgid "system ID View" msgstr "Vue d'identifiants du système" +msgid "Fallback to AD DC LDAP" +msgstr "Repli sur l'annuaire LDAP du contrôleur de domaine AD" + +msgid "" +"Allow falling back to AD DC LDAP when resolving AD trusted objects. For two-" +"way trusts only." +msgstr "" +"Autorise l'utilisation en repli de l'annuaire LDAP du contrôleur de domaine " +"AD. Pour les relations d'approbation bidirectionnelles uniquement." + msgid "ID Views" msgstr "Vues d'identifiants" @@ -7284,7 +8272,7 @@ msgstr "valeur" 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." +"hostgroups. If any other ID View is applied to the host, it is overridden." msgstr "" "Applique une vue d'identifiants aux hôtes ou aux membres des groupes d'hôtes " "indiqués. Si une autre vue d'identifiants était appliquée à l'hôte, elle est " @@ -7361,14 +8349,22 @@ msgstr "" msgid "Number of hosts that had a ID View was unset:" msgstr "Nombre d'hôtes dont une vue d'identifiants a été retirée :" +msgid "" +"You are trying to reference a magic private group which is not allowed to be " +"overridden. Try overriding the GID attribute of the corresponding user " +"instead." +msgstr "" +"Vous essayez de référencer un groupe privé magique qui ne peut être " +"surchargé. Essayez plutôt de surcharger l'attribut GID de l'utilisateur." + msgid "IPA object" msgstr "objet IPA" msgid "" "system IPA objects (e.g system groups, user private groups) cannot be " -"overriden" +"overridden" msgstr "" -"les objets système IPA (c'est à dire les groupes et groupes privés " +"les objets systèmes IPA (c'est à dire les groupes et groupes privés " "d'utilisateurs) ne peuvent être surchargés" #, python-format @@ -7437,6 +8433,22 @@ msgstr "Surcharge d'identifiant de groupe" msgid "Group ID overrides" msgstr "Surcharges d'identifiants de groupes" +msgid "Add one or more certificates to the idoverrideuser entry" +msgstr "" +"Ajouter un ou plusieurs certificats à l'entrée de l'utilisateur surchargé " +"(idoverrideuser)" + +#, python-format +msgid "Added certificates to idoverrideuser \"%(value)s\"" +msgstr "Certificats ajoutés à l'utilisateur surchargé « %(value)s »" + +msgid "Remove one or more certificates to the idoverrideuser entry" +msgstr "Supprimer les certificats de l'entrée de l'utilisateur surchargé" + +#, python-format +msgid "Removed certificates from idoverrideuser \"%(value)s\"" +msgstr "Certificats supprimés de l'utilisateur surchargé « %(value)s »" + msgid "Add a new User ID override." msgstr "Ajouter une nouvelle surcharge d'identifiants utilisateurs." @@ -7635,25 +8647,53 @@ msgstr "${count} élément(s) supprimé(s)" msgid "Show Results" msgstr "Afficher les résultats" -msgid "Implicit method (password) will be used if no method is chosen." +msgid "" +"

Implicit method (password) will be used if no method is chosen.

Password + Two-factor: LDAP and Kerberos allow " +"authentication with either one of the authentication types but Kerberos uses " +"pre-authentication method which requires to use armor ccache.

RADIUS with another type: Kerberos always use RADIUS, " +"but LDAP never does. LDAP only recognize the password and two-factor " +"authentication options.

" msgstr "" -"La méthode implicite (par mot de passe) sera utilisée si aucune méthode " -"n'est choisie." +"

La méthode implicite (mot de passe) est celle utilisée si aucune méthode " +"n'est choisie.

Mot de passe + double facteur : LDAP " +"et Kerberos permettent l'authentification avec l'un ou l'autre des type " +"d'authentification, mais Kerberos utilise une méthode de pré-" +"authentification qui nécessite d'utiliser un ccache blindé.

RADIUS avec un autre type : Kerberos utilise toujours " +"RADIUS, mais pas LDAP. LDAP ne reconnait que le mot de passe et une des " +"options d'authentification à double facteur.

" + +msgid "OTP" +msgstr "OTP" msgid "Two factor authentication (password + OTP)" msgstr "Authentification à deux-facteurs" -msgid "Radius" -msgstr "Radius" +msgid "RADIUS" +msgstr "RADIUS" msgid "Disable per-user override" msgstr "Désactiver la surcharge par utilisateur" msgid "" -"Per-user setting, overwrites the global setting if any option is checked." +"

Per-user setting, overwrites the global setting if any option is checked." +"

Password + Two-factor: LDAP and Kerberos allow " +"authentication with either one of the authentication types but Kerberos uses " +"pre-authentication method which requires to use armor ccache.

RADIUS with another type: Kerberos always use RADIUS, " +"but LDAP never does. LDAP only recognize the password and two-factor " +"authentication options.

" msgstr "" -"Paramètres par utilisateurs, outrepassant les paramètres globaux si une des " -"options est cochée." +"

Paramètrage spécifique à l'utilisateur, surcharge la configuration " +"globale si l'une des options est cochée.

Mot de passe + double " +"facteur : LDAP est Kerberos permettent l'authentification avec l'un " +"ou l'autre des types d'authentification, mais Kerberos utilise une méthode " +"de pré-authentification qui nécessite d'utiliser un ccache blindé.

RADIUS avec un autre type : Kerberos utilise toujours " +"RADIUS, mais pas LDAP. LDAP ne reconnait que le mot de passe et une des " +"options d'authentification à double facteur.

" msgid "About" msgstr "À propos de" @@ -7700,6 +8740,9 @@ msgstr "Rechercher" msgid "Get" msgstr "Obtenir" +msgid "Hide" +msgstr "Masquer" + msgid "Issue" msgstr "Émettre" @@ -7709,9 +8752,15 @@ msgstr "OK" msgid "Refresh" msgstr "Rafraîchir" +msgid "Reload current settings from the server." +msgstr "Recharger la configuration actuelle depuis le serveur." + msgid "Delete" msgstr "Supprimer" +msgid "Remove hold" +msgstr "Supprimer le blocage" + msgid "Reset" msgstr "Réinitialiser" @@ -7736,17 +8785,23 @@ msgstr "Enregistrer" msgid "Set" msgstr "Définir" +msgid "Show" +msgstr "Afficher" + +msgid "Stage" +msgstr "Mette en attente" + msgid "Update" msgstr "Modifier" msgid "View" -msgstr "Voir" +msgstr "Afficher" msgid "Collapse All" -msgstr "Replier le tout" +msgstr "Tout replier" msgid "Expand All" -msgstr "Tout développer" +msgstr "Tout déplier" msgid "General" msgstr "Général" @@ -7769,6 +8824,9 @@ msgstr "${primary_key} de ${entity} modifié" msgid "${entity} successfully added" msgstr "${entity} ajoutée avec succès" +msgid "Add custom value" +msgstr "Ajouter une valeur personnalisée" + #, python-brace-format msgid "Add ${entity}" msgstr "Ajouter ${entity}" @@ -7785,6 +8843,9 @@ msgstr "Erreur sur les opérations" msgid "Confirmation" msgstr "Confirmation" +msgid "Custom value" +msgstr "Valeur personnalisée" + msgid "This page has unsaved changes. Please save or revert." msgstr "" "Cette page comporte des modifications non-sauvegardées. Veuillez les " @@ -7817,6 +8878,9 @@ msgstr "Sélectionner les entrées à supprimer." msgid "Remove ${entity}" msgstr "Supprimer ${entity}" +msgid "Result" +msgstr "Résultat" + msgid "Show details" msgstr "Afficher les détails" @@ -7961,7 +9025,7 @@ msgid "Logout error" msgstr "Erreur de déconnexion" msgid "Sync OTP Token" -msgstr "Jeton OTP synchronisé" +msgstr "Synchroniser le jeton OTP" msgid "Username" msgstr "Nom d'utilisateur" @@ -8021,9 +9085,56 @@ msgstr "Direct" msgid "Indirect" msgstr "Indirect" +msgid "All" +msgstr "Tou(te)s" + +msgid "Any CA" +msgstr "Toute AC" + +msgid "Any Host" +msgstr "N'importe quel hôte" + +msgid "Any Service" +msgstr "N'importe quel service" + +msgid "Any Profile" +msgstr "Tout profil" + +msgid "Anyone" +msgstr "N'importe qui" + +msgid "Rule status" +msgstr "État de la règle" + +msgid "If no CAs are specified, requests to the default CA are allowed." +msgstr "" +"Si aucune AC n'est indiquée, les requêtes à l'autorité de certification par " +"défaut sont autorisées." + +msgid "Specified CAs" +msgstr "AC indiquées" + +msgid "Specified Hosts and Groups" +msgstr "Hôtes et groupes indiqués" + +msgid "Specified Profiles" +msgstr "Prodils indiqués" + +msgid "Specified Services and Groups" +msgstr "Services et groupes indiqués" + +msgid "Specified Users and Groups" +msgstr "Utilisateurs et groupes indiqués" + +msgid "Permitted to have certificates issued" +msgstr "Autorisés à se voir émettre des certificats" + msgid "AA Compromise" msgstr "AA compromis" +msgid "Add principal" +msgstr "Ajouter un principal" + msgid "Affiliation Changed" msgstr "Affiliation modifiée" @@ -8042,6 +9153,9 @@ msgstr "Cessation d'activité" msgid "Common Name" msgstr "Nom usuel" +msgid "Download" +msgstr "Téléchargement" + msgid "Expires On" msgstr "Expire le" @@ -8081,10 +9195,16 @@ msgstr "Empreintes" msgid "Get Certificate" msgstr "Obtenir le certificat" +msgid "Certificate Hold Removed" +msgstr "Blocage de certificat supprimé" + #, python-brace-format msgid "Issue New Certificate for ${entity} ${primary_key}" msgstr "Émettre un nouveau certificat pour ${primary_key} de ${entity}" +msgid "Issue New Certificate" +msgstr "Émettre un nouveau certificat" + msgid "Issued By" msgstr "Émis par" @@ -8115,12 +9235,33 @@ msgstr "Organisation" msgid "Organizational Unit" msgstr "Unité organisationnelle" +#, python-brace-format +msgid "${count} certificate(s) present" +msgstr "${count} certificate(s) présent(s)" + msgid "Privilege Withdrawn" msgstr "Privilège retiré" msgid "Reason for Revocation" msgstr "Raison de la révocation" +msgid "Remove Hold" +msgstr "Supprimer le blocage" + +#, python-brace-format +msgid "Remove Certificate Hold for ${entity} ${primary_key}" +msgstr "Supprimer le blocage de certificat pour ${entity} ${primary_key}" + +msgid "Remove Certificate Hold" +msgstr "Supprimer le blocage du certificat" + +msgid "" +"To confirm your intention to remove the certificate hold, click the \"Remove " +"hold\" button." +msgstr "" +"Afin de confirmer votre intention de supprimer le blocage du certificat, " +"cliquez sur le boutton « Supprimer le blocage »" + msgid "Remove from CRL" msgstr "Retrait de la LRC" @@ -8128,40 +9269,28 @@ msgstr "Retrait de la LRC" 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:
" +"
  • Create a CSR with subject CN=<${cn_name}>,O=<realm>, for example:
    # certutil -R -d <database path> -a -g " +"<key size> -s 'CN=${cn},O=${realm}'${san}
  • Copy and " +"paste the CSR (from -----BEGIN NEW CERTIFICATE REQUEST----- to " +"-----END NEW CERTIFICATE REQUEST-----) into the text area below: " msgstr "" "
    1. Créer une base de données de certificats ou utiliser une base " -"existante. Pour créer une nouvelle  :
      # certutil -N -d <" -"database path>
    2. Créer une demande de signature (CSR) de " -"certificat avec le sujet CN=<hostname>,O=<realm>, par " -"exemple :
      # certutil -R -d <database path> -a -g <key " -"size> -s 'CN=${hostname},O=${realm}'
    3. Copier/coller le " -"CSR (de -----BEGIN NEW CERTIFICATE REQUEST----- à -----END NEW " -"CERTIFICATE REQUEST-----) dans la zone de texte ci-dessous :
    " - -msgid "Certificate requested" -msgstr "Certificat demandé" +"existante. Pour créer une nouvelle base :
    # certutil -N -d <" +"database path>
  • Créer un CSR avec le sujet CN=<" +"${cn_name}>,O=<realm>, par exemple :
    # certutil -R -" +"d <database path> -a -g <key size> -s 'CN=${cn},O=${realm}'${san}" +"
  • Copier/coller le CSR (depuis -----BEGIN NEW " +"CERTIFICATE REQUEST----- jusque -----END NEW CERTIFICATE " +"REQUEST-----) dans la zone de texte ci-dessous :
  • " #, python-brace-format -msgid "Restore Certificate for ${entity} ${primary_key}" -msgstr "Restaurer un certificat pour ${primary_key} de ${entity}" - -msgid "Restore Certificate" -msgstr "Restaurer le certificat" - -msgid "" -"To confirm your intention to restore this certificate, click the \"Restore\" " -"button." -msgstr "" -"Pour confirmer l'intention de restaurer ce certificat, cliquer sur le bouton " -"« Restaurer »." +msgid " -8 '${cn}'" +msgstr " -8 '${cn}'" -msgid "Certificate restored" -msgstr "Certificat restauré" +msgid "Certificate requested" +msgstr "Certificat demandé" #, python-brace-format msgid "Revoke Certificate for ${entity} ${primary_key}" @@ -8229,9 +9358,6 @@ msgstr "Redirection uniquement" msgid "Options" msgstr "Options" -msgid "Data" -msgstr "Données" - msgid "DNS record was deleted because it contained no data." msgstr "L'enregistrement DNS a été supprimé car vide" @@ -8306,6 +9432,9 @@ msgstr "" msgid "Skip DNS check" msgstr "Passer la vérification DNS" +msgid "Skip overlap check" +msgstr "Passer la vérification de recouvrement" + msgid "Do you want to check if new authoritative nameserver address is in DNS" msgstr "" "Voulez-vous vérifier si l'adresse du nouveau serveur faisant autorité est " @@ -8341,33 +9470,12 @@ msgstr "POSIX" msgid "Group Type" msgstr "Type de groupe" -msgid "Any Host" -msgstr "N'importe quel hôte" - -msgid "Any Service" -msgstr "N'importe quel service" - -msgid "Anyone" -msgstr "N'importe qui" - msgid "Accessing" msgstr "Accédant à" -msgid "Rule status" -msgstr "État de la règle" - msgid "Via Service" msgstr "Via le service" -msgid "Specified Hosts and Groups" -msgstr "Hôtes et groupes indiqués" - -msgid "Specified Services and Groups" -msgstr "Services et groupes indiqués" - -msgid "Specified Users and Groups" -msgstr "Utilisateurs et groupes indiqués" - msgid "Who" msgstr "Qui" @@ -8429,6 +9537,12 @@ msgstr "Inscription" msgid "Fully Qualified Host Name" msgstr "Nom d'hôte pleinement qualifié" +msgid "Generate OTP" +msgstr "Créer un OTP" + +msgid "Generated OTP" +msgstr "OTP créé" + msgid "Kerberos Key" msgstr "Clé Kerberos" @@ -8563,7 +9677,7 @@ msgid "Kerberos Ticket Policy" msgstr "Politique de tickets Kerberos" msgid "Netgroup Settings" -msgstr "Paramètres du groupement réseau" +msgstr "Paramètres du groupe réseau" msgid "Add OTP Token" msgstr "Ajouter un jeton OTP" @@ -8592,6 +9706,9 @@ msgstr "Paramètres de jetons OTP" msgid "Disable token" msgstr "Désactiver un jeton" +msgid "Enable token" +msgstr "Activer un jeton" + msgid "Show QR code" msgstr "Montrer le code QR" @@ -8604,7 +9721,7 @@ msgstr "Basé sur un compteur (HOTP)" msgid "Time-based (TOTP)" msgstr "Jetons temporels (TOTP)" -msgid "Add custom attribute" +msgid "Add Custom Attribute" msgstr "Ajouter un attribut personnalisé" msgid "Permission settings" @@ -8650,7 +9767,7 @@ msgid "Local domain" msgstr "Domaine local :" msgid "IPA trust" -msgstr "Confiance IPA" +msgstr "Relation d'approbation IPA" msgid "Active Directory winsync" msgstr "Active Directory winsync" @@ -8673,9 +9790,24 @@ msgstr "Forcer la mise à jour" msgid "Role Settings" msgstr "Paramètres du rôle" +msgid "Server Roles" +msgstr "Rôles serveur" + +msgid "Server Role" +msgstr "Rôle serveur" + +msgid "Authentication indicators" +msgstr "Indicateurs d'authentification" + +msgid "Authentication indicator" +msgstr "Indicateur d'authentification" + msgid "Service Certificate" msgstr "Certificat de service" +msgid "Add Custom Authentication Indicator" +msgstr "Ajouter un indicateur d'authentification personnalisé" + msgid "Service Settings" msgstr "Paramètres de service" @@ -8719,9 +9851,31 @@ msgid "Are you sure you want to activate selected users?" msgstr "Êtes-vous sûr de vouloir désactiver l'utilisateur sélectionné ?" #, python-brace-format +msgid "Are you sure you want to activate ${object}?" +msgstr "Êtes-vous sûr(e) de vouloir activer ${object} ?" + +#, python-brace-format msgid "${count} user(s) activated" msgstr "${count} utilisateur(s) activé(s)" +msgid "Stage users" +msgstr "Utilisateurs en attente" + +msgid "Preserved users" +msgstr "Utilisateurs préservés" + +msgid "Are you sure you want to stage selected users?" +msgstr "" +"Êtes-vous sûrs de vouloir mettre en attente les utilisateurs sélectionnés ?" + +#, python-brace-format +msgid "${count} users(s) staged" +msgstr "${count} utilisateur(s) mis en attente" + +#, python-brace-format +msgid "Are you sure you want to stage ${object}?" +msgstr "Êtes-vous sûr de vouloir mettre en attente l'objet ${object} ?" + msgid "Are you sure you want to restore selected users?" msgstr "Êtes-vous sûr de vouloir restaurer les utilisateurs sélectionnés ?" @@ -8778,6 +9932,12 @@ msgstr "Information sur le segment" msgid "Replication configuration" msgstr "Configuration de la réplication" +#, python-brace-format +msgid "Managed topology requires minimal domain level ${domainlevel}" +msgstr "" +"La gestion de la topologie nécessite le niveau de domaine minimal " +"${domainlevel}" + msgid "Account" msgstr "Compte" @@ -8817,6 +9977,9 @@ msgstr "État de la confiance" msgid "Trust type" msgstr "Type de confiance" +msgid "Alternative UPN suffixes" +msgstr "Suffixes UPN alternatifs" + msgid "Account Settings" msgstr "Paramètres de compte" @@ -8897,9 +10060,6 @@ msgstr "Nouveau mot de passe" msgid "New password is required" msgstr "Un nouveau mot de passe est requis" -msgid "OTP" -msgstr "OTP" - msgid "" " One-Time-Password(OTP): " "Generate new OTP code for each OTP field." @@ -8939,9 +10099,6 @@ 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" @@ -9052,9 +10209,15 @@ msgstr "Précédent(e)" msgid "Undo" msgstr "Annuler" +msgid "Undo this change." +msgstr "Annuler cette modification." + msgid "Undo All" msgstr "Tout annuler" +msgid "Undo all changes in this field." +msgstr "Annuler toutes les modifications dans ce champ." + msgid "Text does not match field pattern" msgstr "Le texte ne correspond pas au motif du champ" @@ -9087,8 +10250,8 @@ msgstr "La valeur maximale est ${value}" msgid "Minimum value is ${value}" msgstr "La valeur minimale est ${value}" -msgid "Not a valid network address" -msgstr "Adresse réseau invalide" +msgid "Not a valid network address (examples: 2001:db8::/64, 192.0.2.0/24)" +msgstr "Adresse réseau invalide (exemples : 2001:db8::/64, 192.0.2.0/24)" msgid "Parse error" msgstr "Erreur d'analyse" @@ -9106,6 +10269,26 @@ msgstr "Valeur non prise en charge" msgid "Dict of I18N messages" msgstr "Dictionnaire de messages I18N" +msgid "The hostname to register as" +msgstr "Le nom d'hôte sous lequel enregistrer" + +msgid "The IPA realm" +msgstr "Le domaine IPA" + +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 de l'hôte (par ex. Fedora 9)" + +#, python-format +msgid "" +"Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry " +"'%s'." +msgstr "" +"Privilège « write » insuffisant pour l'attribut « krbLastPwdChange » de " +"l'entrée « %s »." + msgid "" "\n" "Kerberos ticket policy\n" @@ -9222,6 +10405,130 @@ 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." +msgid "Could not read UPG Definition originfilter. Check your permissions." +msgstr "" +"Impossible de lire « originfilter » de « UPG Definition ». Vérifiez vos " +"permissions." + +msgid "" +"\n" +"IPA locations\n" +msgstr "" +"\n" +"Emplacements IPA\n" + +msgid "" +"\n" +"Manipulate DNS locations\n" +msgstr "" +"\n" +"Manipulation des emplacements DNS\n" + +msgid "" +"\n" +" Find all locations:\n" +" ipa location-find\n" +msgstr "" +"\n" +" Trouver tous les emplacements :\n" +" ipa location-find\n" + +msgid "" +"\n" +" Show specific location:\n" +" ipa location-show location\n" +msgstr "" +"\n" +" Afficher un emplacement spécifique :\n" +" ipa location-show location\n" + +msgid "" +"\n" +" Add location:\n" +" ipa location-add location --description 'My location'\n" +msgstr "" +"\n" +" Ajouter un emplacement :\n" +" ipa location-add location --description 'Mon emplacement'\n" + +msgid "" +"\n" +" Delete location:\n" +" ipa location-del location\n" +msgstr "" +"\n" +" Supprimer un emplacement :\n" +" ipa location-del location\n" + +msgid "location" +msgstr "emplacement" + +msgid "locations" +msgstr "emplacements" + +msgid "IPA Locations" +msgstr "Emplacements IPA" + +msgid "IPA Location" +msgstr "Emplacement IPA" + +msgid "Location name" +msgstr "Nom de l'emplacement" + +msgid "IPA location name" +msgstr "Nom de l'emplacement IPA" + +msgid "IPA Location description" +msgstr "Description de l'emplacement IPA" + +msgid "Servers" +msgstr "Serveurs" + +msgid "Servers that belongs to the IPA location" +msgstr "Serveurs appartenants à l'emplacement IPA" + +msgid "Advertised by servers" +msgstr "Publié par les serveurs" + +msgid "List of servers which advertise the given location" +msgstr "Liste des serveurs qui publient un emplacement donné" + +msgid "Add a new IPA location." +msgstr "Ajouter un nouvel emplacement IPA." + +#, python-format +msgid "Added IPA location \"%(value)s\"" +msgstr "Emplacement IPA « %(value)s » ajouté" + +msgid "Delete an IPA location." +msgstr "Supprimer un emplacement IPA." + +#, python-format +msgid "Deleted IPA location \"%(value)s\"" +msgstr "Emplacement IPA « %(value)s » supprimé" + +msgid "Modify information about an IPA location." +msgstr "Modifier les informations d'un emplacement IPA." + +#, python-format +msgid "Modified IPA location \"%(value)s\"" +msgstr "Emplacement IPA « %(value)s » modifié" + +msgid "Search for IPA locations." +msgstr "Rechercher des emplacements IPA." + +#, python-format +msgid "%(count)d IPA location matched" +msgid_plural "%(count)d IPA locations matched" +msgstr[0] "%(count)d emplacement IPA correspondant" +msgstr[1] "%(count)d emplacements IPA correspondants" + +msgid "Display information about an IPA location." +msgstr "Afficher les informations d'un emplacement IPA." + +msgid "Servers in location" +msgstr "Serveurs situés à l'emplacement" + msgid "" "\n" "Migration to IPA\n" @@ -9620,24 +10927,6 @@ msgstr "" "à 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 " -"l'activer." - -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 "" -"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" -"avant de pouvoir utiliser leur compte Kerberos." - #, python-format msgid "" "%(container)s LDAP search did not return any result (search base: " @@ -9669,6 +10958,9 @@ msgstr "" "récupère et affiche tous les attributs du serveur. Modifie la sortie de la " "commande." +msgid "Dictionary mapping variable name to value" +msgstr "Annuaire associant un nom de variable à une valeur" + msgid "Total number of variables env (>= count)" msgstr "Nombre total de variables d'environnement (>= count)" @@ -9712,48 +11004,48 @@ msgid "" " ipa netgroup-del admins\n" msgstr "" "\n" -"Groupements réseau\n" +"Groupes réseau\n" "\n" -"Un groupement réseau est un groupe utilisé pour la vérification des droits.\n" +"Un groupe 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 groupement réseau :\n" +" Ajouter un nouveau groupe réseau :\n" " ipa netgroup-add --desc=\"NFS admins\" admins\n" "\n" -" Ajouter des membres au groupement réseau :\n" +" Ajouter des membres au groupe réseau :\n" " ipa netgroup-add-member --users=tuser1 --users=tuser2 admins\n" "\n" -" Retirer un membre du groupement réseau :\n" +" Retirer un membre du groupe réseau :\n" " ipa netgroup-remove-member --users=tuser2 admins\n" "\n" -" Afficher les informations sur un groupement réseau :\n" +" Afficher les informations sur un groupe réseau :\n" " ipa netgroup-show admins\n" "\n" -" Supprimer un groupement réseau :\n" +" Supprimer un groupe réseau :\n" " ipa netgroup-del admins\n" msgid "Member Host" msgstr "Hôte membre" msgid "netgroup" -msgstr "groupement réseau" +msgstr "groupe réseau" msgid "netgroups" -msgstr "groupements réseau" +msgstr "groupes réseau" msgid "Netgroups" -msgstr "Groupements réseau" +msgstr "Groupes réseau" msgid "Netgroup" -msgstr "Groupement réseau" +msgstr "Groupe réseau" msgid "Netgroup name" -msgstr "Nom de groupement réseau" +msgstr "Nom de groupe réseau" msgid "Netgroup description" -msgstr "Description de groupement réseau" +msgstr "Description de groupe réseau" msgid "NIS domain name" msgstr "Nom de domaine NIS" @@ -9762,11 +11054,11 @@ msgid "IPA unique ID" msgstr "ID unique IPA" msgid "Add a new netgroup." -msgstr "Ajouter un nouveau groupement réseau." +msgstr "Ajouter un nouveau groupe réseau." #, python-format msgid "Added netgroup \"%(value)s\"" -msgstr "Groupement réseau « %(value)s » ajouté" +msgstr "Groupe réseau « %(value)s » ajouté" #, python-format msgid "" @@ -9774,42 +11066,45 @@ msgid "" "common namespace" msgstr "" "Un groupe d'hôtes nommé « %s » existe déjà. Les groupes d'hôtes et les " -"groupements réseau partagent le même espace de nommage" +"groupes réseau partagent le même espace de nommage" msgid "Delete a netgroup." -msgstr "Supprimer un groupement réseau." +msgstr "Supprimer un groupe réseau." #, python-format msgid "Deleted netgroup \"%(value)s\"" -msgstr "Groupement réseau « %(value)s » supprimé" +msgstr "Groupe réseau « %(value)s » supprimé" msgid "Modify a netgroup." -msgstr "Modifier un groupement réseau." +msgstr "Modifier un groupe réseau." #, python-format msgid "Modified netgroup \"%(value)s\"" -msgstr "Groupement réseau « %(value)s » supprimé" +msgstr "Groupe réseau « %(value)s » supprimé" msgid "Search for a netgroup." -msgstr "Rechercher un groupement réseau." +msgstr "Rechercher un groupe réseau." #, python-format msgid "%(count)d netgroup matched" msgid_plural "%(count)d netgroups matched" -msgstr[0] "%(count)d groupement réseau correspondant" -msgstr[1] "%(count)d groupements réseau correspondant" +msgstr[0] "%(count)d groupe réseau correspondant" +msgstr[1] "%(count)d groupes 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 groupement réseau." +msgstr "Afficher l'information sur un groupe réseau." msgid "Add members to a netgroup." -msgstr "Ajouter des membres à un groupement réseau." +msgstr "Ajouter des membres à un groupe réseau." msgid "Remove members from a netgroup." -msgstr "Supprimer des membres d'un groupement réseau." +msgstr "Supprimer des membres d'un groupe réseau." + +msgid "One time password commands" +msgstr "Commandes mots de passe à usage unique (OTP)" msgid "" "\n" @@ -9862,9 +11157,6 @@ msgstr "" " Modifier la fenêtre maximale d'authentification HOTP à 50 :\n" " ipa hotpconfig-mod --hotp-sync-window=50\n" -msgid "One time password commands" -msgstr "Commandes mots de passe à usage unique (OTP)" - msgid "OTP configuration options" msgstr "Options de configuration pour les mots de passe à usage unique" @@ -9886,9 +11178,15 @@ msgstr "Variance temporelle de synchronisation TOTP (secondes)" msgid "HOTP Authentication Window" msgstr "Fenêtre d'authentification HOTP" +msgid "HOTP authentication skip-ahead" +msgstr "passage d'occurrence d'authentification HOTP" + msgid "HOTP Synchronization Window" msgstr "Fenêtre de synchronisation HOTP" +msgid "HOTP synchronization skip-ahead" +msgstr "passage d'occurrence de synchronisation HOTP" + msgid "Modify OTP configuration options." msgstr "Modifier les options de configuration OTP." @@ -10094,58 +11392,8 @@ 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 "" -"\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 "" -"\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 "Add a new YubiKey OTP token." -msgstr "Ajouter un nouveau jeton OTP YubiKey." - -msgid "YubiKey slot" -msgstr "Connecteur YubiKey" - -msgid "No free YubiKey slot!" -msgstr "Aucun connecteur YubiKey libre !" +msgid "Remove users that can manage this token." +msgstr "Supprimer des utilisateurs pouvant gérer ce jeton." msgid "" "\n" @@ -10191,15 +11439,12 @@ 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" +msgstr "Mots de passe à usage unique" #, python-format msgid "Changed password for \"%(value)s\"" msgstr "Mot de passe modifié pour « %(value)s »" -msgid "Invalid credentials" -msgstr "Données d'authentification invalides" - msgid "" "\n" "Permissions\n" @@ -10387,6 +11632,9 @@ msgstr "« %s » n'est pas un type d'objet" msgid "\"%s\" is not a valid permission type" msgstr "« %s » n'est pas un type de permission autorisé" +msgid "Permission flags" +msgstr "Marqueurs de permission" + msgid "permission" msgstr "permission" @@ -10433,7 +11681,7 @@ msgid "Bind rule type" msgstr "Type de règle liée" msgid "Subtree to apply permissions to" -msgstr "Branche sur laquelle appliquer les permissions" +msgstr "Branche à laquelle appliquer les permissions" msgid "Extra target filter" msgstr "Filtre cible supplémentaire" @@ -10458,9 +11706,23 @@ msgstr "" msgid "Target DN subtree" msgstr "Sous-arbre des DN cibles" +msgid "" +"Optional DN subtree where an entry can be moved to (must be in the subtree, " +"but may not yet exist)" +msgstr "" +"Sous-arbre optionnel de DN dans lequel une entrée peut être déplacée (doit " +"être dans le sous-arbre, mais peut ne pas encore exister)" + msgid "Origin DN subtree" msgstr "Sous-arbre des DN origines" +msgid "" +"Optional DN subtree from where an entry can be moved (must be in the " +"subtree, but may not yet exist)" +msgstr "" +"Sous-arbre optionnel de DN dans lequel une entrée peut être déplacée (doit " +"être dans le sous-arbre, mais peut ne pas encore exister)" + msgid "Member of group" msgstr "Membre du groupe" @@ -10542,9 +11804,6 @@ msgstr "Ajout d'une permission système sans ACI (commande interne)" 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." @@ -10764,6 +12023,14 @@ msgstr "" "Reportez-vous la gestion des rôles et des permissions pour plus " "d'informations.\n" +#, 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 "privilege" msgstr "privilège" @@ -10824,14 +12091,6 @@ 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." @@ -11240,23 +12499,46 @@ msgstr "Modifier les domaines du royaume." msgid "Force adding domain even if not in DNS" msgstr "Forcer l'ajout d'un domaine même si absent des DNS" +#, python-format msgid "" -"you cannot specify the --domain option together with --add-domain or --del-" -"domain" +"DNS zone for each realmdomain must contain SOA or NS records. No records " +"found for: %s" msgstr "" -"Impossible d'utiliser l'option --domain avec les options --add-domain ou --" -"del-domain" - -msgid "cannot delete domain of IPA server" -msgstr "Impossible de supprimer le domaine du serveur IPA" +"La zone DNS de chaque domaine Kerberos doit contenir des enregistrements SOA " +"et NS. Aucun enregistrement trouvé pour : %s" #, python-format -msgid "no SOA or NS records found for domains: %s" -msgstr "aucun enregistrement SOA ou NS trouvé pour les domaines : %s" +msgid "The following domains do not belong to this realm: %(domains)s" +msgstr "" +"Les domaines suivants n'appartiennent pas à ce domaine Kerberos : %(domains)s" #, python-format -msgid "no SOA or NS records found for domain %s" -msgstr "aucun enregistrement SOA ou NS trouvé pour le domaine : %s" +msgid "" +"The realm of the following domains could not be detected: %(domains)s. If " +"these are domains that belong to the this realm, please create a _kerberos " +"TXT record containing \"%(realm)s\" in each of them." +msgstr "" +"Le domaine Kerberos des domaines suivants ne peuvent être détectés : " +"%(domains)s. S'il existe des domaines appartenant à ce royaume, merci de " +"créer un enregistrement TXT kerberos contenant « %(realm)s » dans chacun " +"d'entre eux." + +msgid "" +"The --domain option cannot be used together with --add-domain or --del-" +"domain. Use --domain to specify the whole realm domain list explicitly, to " +"add/remove individual domains, use --add-domain/del-domain." +msgstr "" +"L'option « --domain » ne peut être utilisée conjointement avec les options " +"« --add-domain » or « --del-domain ». Utilisez « --domain » pour indiquer " +"explicitement la liste complète des domaines du royaume, utilisez « --add-" +"domain » et « --del-domain » pour ajouter et supprimer les domaines de " +"manière individuelle." + +msgid "IPA server domain cannot be omitted" +msgstr "Le domaine du serveur IPA ne peut être omis" + +msgid "IPA server domain cannot be deleted" +msgstr "Le domaine du serveur IPA ne peut être supprimé" msgid "Display the list of realm domains." msgstr "Afficher la liste des domaines du royaume." @@ -11406,6 +12688,110 @@ msgstr "Nombre de privilèges retirés" msgid "" "\n" +"API Schema\n" +msgstr "" +"\n" +"Schéma de l'API\n" + +msgid "" +"\n" +"Provides API introspection capabilities.\n" +msgstr "" +"\n" +"Fournit des capacités d'introspection de l'API.\n" + +msgid "" +"\n" +" Show user-find details:\n" +" ipa command-show user-find\n" +msgstr "" +"\n" +" Afficher les informations sur user-find :\n" +" ipa command-show user-find\n" + +msgid "" +"\n" +" Find user-find parameters:\n" +" ipa param-find user-find\n" +msgstr "" +"\n" +" Trouver les arguments disponibles pour user-find :\n" +" ipa param-find user-find\n" + +msgid "Documentation" +msgstr "Documentation" + +msgid "Exclude from" +msgstr "Exclure de" + +msgid "Include in" +msgstr "Inclure dans" + +msgid "Help topic" +msgstr "Sujet de l'aide" + +msgid "Display information about a command." +msgstr "Afficher des informations sur une commande." + +msgid "Search for commands." +msgstr "Rechercher des commandes." + +msgid "Display information about a help topic." +msgstr "Afficher les informations sur un sujet de l'aide." + +msgid "Search for help topics." +msgstr "Rechercher des sujets de l'aide." + +msgid "Required" +msgstr "Requis" + +msgid "Multi-value" +msgstr "Multi-valué" + +msgid "Always ask" +msgstr "Toujours demander" + +msgid "CLI metavar" +msgstr "Metavariable CLI" + +msgid "CLI name" +msgstr "Nom CLI" + +msgid "Confirm (password)" +msgstr "Confirmer le mot de passe" + +msgid "Default" +msgstr "Par défaut" + +msgid "Default from" +msgstr "Valeur par défaut depuis" + +msgid "Label" +msgstr "Étiquette" + +msgid "Convert on server" +msgstr "Convertir sur le serveur" + +msgid "Option group" +msgstr "Groupe d'options" + +msgid "Sensitive" +msgstr "Sensible" + +msgid "Display information about a command parameter." +msgstr "Afficher des informations sur un paramètre de commande." + +msgid "Search command parameters." +msgstr "Rechercher des paramètres de commandes." + +msgid "Display information about a command output." +msgstr "Afficher les informations sur une sortie de commande." + +msgid "Search for command outputs." +msgstr "Rechercher des sorties de commande." + +msgid "" +"\n" "Self-service Permissions\n" "\n" "A permission enables fine-grained delegation of permissions. Access Control\n" @@ -11779,14 +13165,11 @@ msgstr "serveurs" msgid "IPA Servers" msgstr "Serveurs IPA" -msgid "Server name" -msgstr "Nom du serveur" - msgid "IPA server hostname" msgstr "Nom d'hôte du serveur IPA" -msgid "Managed suffix" -msgstr "Suffixe administré" +msgid "Managed suffixes" +msgstr "Suffixes administrés" msgid "Min domain level" msgstr "Niveau de domaine mini" @@ -11797,27 +13180,245 @@ msgstr "Niveau de domaine minimal" msgid "Max domain level" msgstr "Niveau de domaine maxi" -msgid "Maximum domain level" -msgstr "Niveau de domaine maximal" +msgid "Maximum domain level" +msgstr "Niveau de domaine maximal" + +msgid "Server location" +msgstr "Emplacement de serveur" + +msgid "Service weight" +msgstr "Poids du service" + +msgid "Weight for server services" +msgstr "Poids des services des serveurs" + +msgid "Service relative weight" +msgstr "Poids relatif du service" + +msgid "Relative weight for server services (counts per location)" +msgstr "Poids relatifs des services des serveurs (compte par emplacement)" + +msgid "Enabled server roles" +msgstr "Rôles serveur activés" + +msgid "List of enabled roles" +msgstr "Liste des rôles activés" + +msgid "Modify information about an IPA server." +msgstr "Modifier les informations d'un serveur IPA." + +#, python-format +msgid "Modified IPA server \"%(value)s\"" +msgstr "Serveur IPA \"%(value)s\" modifié" + +msgid "Search for IPA servers." +msgstr "Rechercher des serveurs IPA." + +#, python-format +msgid "%(count)d IPA server matched" +msgid_plural "%(count)d IPA servers matched" +msgstr[0] "%(count)d serveur IPA correspondant" +msgstr[1] "%(count)d serveurs IPA correspondants" + +msgid "Show IPA server." +msgstr "Afficher les informations sur le serveur IPA." + +msgid "Delete IPA server." +msgstr "Supprimer un serveur IPA." + +#, python-format +msgid "Deleted IPA server \"%(value)s\"" +msgstr "Serveur IPA « %(value)s » supprimé" + +msgid "Ignore topology errors" +msgstr "Ignorer les erreurs de topologie" + +msgid "Ignore topology connectivity problems after removal" +msgstr "" +"Ignorer les problèmes de connectivité dans la topologie après suppression" + +msgid "Ignore check for last remaining CA or DNS server" +msgstr "Ignorer la vérification de dernier serveur d'AC ou DNS" + +msgid "Skip a check whether the last CA master or DNS server is removed" +msgstr "" +"Passer la vérification lorsque le dernier serveur DNS ou AC maître est " +"supprimé" + +msgid "Force server removal" +msgstr "Forcer la suppression du serveur" + +msgid "Force server removal even if it does not exist" +msgstr "Forcer la suppression du serveur même s'il n'existe pas" + +msgid "" +"Deleting this server is not allowed as it would leave your installation " +"without a CA." +msgstr "" +"La suppression de ce serveur n'est pas autorisée, elle laisserait votre " +"installation sans AC." + +msgid "" +"Replica is active DNSSEC key master. Uninstall could break your DNS system. " +"Please disable or replace DNSSEC key master first." +msgstr "" +"La réplique est un serveur de clés DNSSEC actif. Le désinstaller pourrait " +"casser votre système DNS. Merci de d'abord désactiver ou de remplacer votre " +"serveur de clés DNSSEC." + +msgid "Deleting this server will leave your installation without a DNS." +msgstr "La suppression de ce serveur laissera votre installation sans DNS." + +msgid "Ignoring these warnings and proceeding with removal" +msgstr "On ignore ces avertissements et lancement de la suppression" + +#, python-format +msgid "" +"Failed to clean memberPrincipal %(principal)s from s4u2proxy entry %(dn)s: " +"%(err)s" +msgstr "" +"Échec du nettoyage du memberPrincipal %(principal)s dans l'entrée s4u2proxy " +"%(dn)s : %(err)s" + +#, python-format +msgid "Failed to clean up DNA hostname entries for %(master)s: %(err)s" +msgstr "" +"Échec du nettoyage des entrées du nom d'hôte DNA pour %(master)s : %(err)s" + +#, python-format +msgid "Failed to remove server %(master)s from server list: %(err)s" +msgstr "" +"Échec de la suppression du serveur %(master)s de la liste de serveurs : " +"%(err)s" + +#, python-format +msgid "Failed to cleanup server principals/keys: %(err)s" +msgstr "Échec du nettoyage du principal ou des clés du serveur : %(err)s" + +#, python-format +msgid "Failed to cleanup %(hostname)s DNS entries: %(err)s" +msgstr "Échec du nettoyage des entrées DNS de %(hostname)s : %(err)s" + +msgid "You may need to manually remove them from the tree" +msgstr "Vous pouvez avoir besoin de les supprimer manuellement de l'arbre" + +#, python-format +msgid "Forcing removal of %(hostname)s" +msgstr "On force la suppression de %(hostname)s" + +msgid "Ignoring topology connectivity errors." +msgstr "On ignore les erreurs de connectivité de la topologie." + +msgid "Server has already been deleted" +msgstr "Le serveur a déjà été supprimé" + +msgid "Agreements deleted" +msgstr "Agréments supprimés" + +msgid "Following segments were not deleted:" +msgstr "Les segments suivants n'ont pas été supprimés :" + +msgid "Check connection to remote IPA server." +msgstr "Vérifier la connexion au serveur IPA distant." + +msgid "Remote server name" +msgstr "Nom du serveur distant" + +msgid "Remote IPA server hostname" +msgstr "Nom d'hôte du serveur IPA distant" + +#, python-format +msgid "must be \"%s\"" +msgstr "doit être « %s »" + +msgid "not allowed to perform server connection check" +msgstr "impossible d'effectuer la vérification de la connexion au serveur" + +msgid "" +"\n" +"IPA server roles\n" +msgstr "" +"\n" +"Rôles serveurs IPA\n" + +msgid "" +"\n" +"Get status of roles (DNS server, CA, etc.) provided by IPA masters.\n" +msgstr "" +"\n" +"Obtenir l'état des rôles (serveur DNS, AC, etc. )fournis par les maîtres " +"IPA.\n" + +msgid "" +"\n" +" Show status of 'DNS server' role on a server:\n" +" ipa server-role-show ipa.example.com \"DNS server\"\n" +msgstr "" +"\n" +" Afficher l'état du rôle « Serveur DNS » d'un serveur :\n" +" ipa server-role-show ipa.example.com \"DNS server\"\n" + +msgid "" +"\n" +" Show status of all roles containing 'AD' on a server:\n" +" ipa server-role-find --server ipa.example.com --role='AD'\n" +msgstr "" +"\n" +" Afficher l'état de tous les rôles contenant « AD » sur un serveur :\n" +" ipa server-role-find --server ipa.example.com --role='AD'\n" + +msgid "" +"\n" +" Show status of all configured roles on a server:\n" +" ipa server-role-find ipa.example.com\n" +msgstr "" +"\n" +" Afficher l'état de tous les rôles configurés sur un serveur :\n" +" ipa server-role-find ipa.example.com\n" + +msgid "server role" +msgstr "rôle serveur" + +msgid "server roles" +msgstr "rôles serveur" + +msgid "IPA Server Roles" +msgstr "Rôles serveur IPA" + +msgid "IPA Server Role" +msgstr "Rôle serveur IPA" + +msgid "IPA server role name" +msgstr "Nom du rôle serveur IPA" + +msgid "Role status" +msgstr "État du rôle" + +msgid "Status of the role" +msgstr "État du rôle" -msgid "Search for IPA servers." -msgstr "Rechercher des serveurs IPA." +msgid "Show role status on a server" +msgstr "Afficher l'état du rôle sur un serveur" + +msgid "Find a server role on a server(s)" +msgstr "Trouver les rôles serveur de serveurs" #, python-format -msgid "%(count)d IPA server matched" -msgid_plural "%(count)d IPA servers matched" -msgstr[0] "%(count)d serveur IPA correspondant" -msgstr[1] "%(count)d serveurs IPA correspondants" +msgid "%(count)s server role matched" +msgid_plural "%(count)s server roles matched" +msgstr[0] "%(count)s rôle serveur correspondant" +msgstr[1] "%(count)s rôles serveur correspondants" -msgid "Show IPA server." -msgstr "Afficher les informations sur le serveur IPA." +msgid "IPA role name" +msgstr "Nom du rôle IPA" -msgid "Delete IPA server." -msgstr "Supprimer un serveur IPA." +#, python-brace-format +msgid "{role}: role not found" +msgstr "{role} : rôle introuvable" -#, python-format -msgid "Deleted IPA server \"%(value)s\"" -msgstr "Serveur IPA « %(value)s » supprimé" +#, python-brace-format +msgid "{attr}: no such attribute" +msgstr "{attr} : attribut introuvable" msgid "" "\n" @@ -11994,6 +13595,9 @@ msgstr "services" msgid "Service principal" msgstr "Principal du service" +msgid "Base-64 encoded service certificate" +msgstr "Certificat du service encodé en Base-64" + msgid "PAC type" msgstr "type de PAC" @@ -12005,10 +13609,24 @@ msgstr "" "» pour désactiver la prise en charge PAC pour ce service, ce qui peut être " "nécessaire pour les services NFS par exemple." +msgid "Authentication Indicators" +msgstr "Indicateurs d'authentification" + +msgid "" +"Defines a whitelist for Authentication Indicators. Use 'otp' to allow OTP-" +"based 2FA authentications. Use 'radius' to allow RADIUS-based 2FA " +"authentications. Other values may be used for custom configurations." +msgstr "" +"Définit une liste blanche d'indicateurs d'authentification. Utiliser « otp » " +"pour autoriser les authentifications à double facteur basé sur les mots de " +"passe à usage unique. Utiliser « radius » pour autoriser l'authentification " +"à double facteur utilisant RADIUS. D'autres valeurs peuvent être utilisées " +"pour des configurations personnalisées." + msgid "NONE value cannot be combined with other PAC types" msgstr "La valeur NONE ne peut être combinée avec d'autres types de PAC" -msgid "Add a new IPA new service." +msgid "Add a new IPA service." msgstr "Ajouter un nouveau service IPA." #, python-format @@ -12088,6 +13706,141 @@ msgstr "Désactiver la clé Kerberos et le certificat SSL d'un service." msgid "Disabled service \"%(value)s\"" msgstr "Service « %(value)s » désactivé" +msgid "Add new certificates to a service" +msgstr "Ajouter un nouveau certificat à un service" + +#, python-format +msgid "Added certificates to service principal \"%(value)s\"" +msgstr "Certificats ajoutés au principal de service « %(value)s »" + +msgid "Remove certificates from a service" +msgstr "Supprimer les certificats d'un service" + +#, python-format +msgid "Removed certificates from service principal \"%(value)s\"" +msgstr "Supprimer les certificats du principal de service « %(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 ability\n" +"to delegate, causing the framework to stop functioning.\n" +msgstr "" +"\n" +"Délégation contrainte de services\n" +"\n" +"Gérez les règles permettant la délégation contrainte d'informations\n" +"d'authentification de façon à ce qu'un service puisse se faire passer\n" +"pour un utilisateur lors de la communication avec un service sans\n" +"que cela ne nécessite de la part de l'utilisateur de transmettre son TGT.\n" +"Cela constitue une méthode bien meilleure de délégation d'identification\n" +"car elle évite l'exposition du secret court terme de l'utilisateur.\n" +"\n" +"La convention de nommage est d'ajouter le mot « target » ou « targets »\n" +"au nom de la règle de correspondance. Ce poitn n'est pas obligatoire mais\n" +"aide à visualiser l'association entre règles et cibles.\n" +"\n" +"Une règle est constituée de deux choses :\n" +" - une liste de cibles auxquelles la règle s'applique,\n" +" - une liste de memberPrincipals qui sont autorisés à leur déléguer\n" +" leurs droits.\n" +"\n" +"Une cible consiste en une liste de principaux qui peuvent être délégués.\n" +"\n" +"En anglais, une règle que ce principal peut déléguer comme cette liste\n" +"de principaux, tels que définis par ces cibles.\n" +"\n" +"EXEMPLES :\n" +"\n" +" Ajouter une nouvelle règle de délégation contrainte :\n" +" ipa servicedelegationrule-add ftp-delegation\n" +"\n" +" Ajouter une nouvelle cible de délégation contrainte :\n" +" ipa servicedelegationtarget-add ftp-delegation-target\n" +"\n" +" Ajouter un principal à la règle :\n" +" ipa servicedelegationrule-add-member --principals=ftp/ipa.example." +"com ftp-delegation\n" +"\n" +" Ajouter notre cible à la règle :\n" +" ipa servicedelegationrule-add-target --servicedelegationtargets=ftp-" +"delegation-target ftp-delegation\n" +"\n" +" Add un principal à la cible :\n" +" ipa servicedelegationtarget-add-member --principals=ldap/ipa.example." +"com ftp-delegation-target\n" +"\n" +" Afficher les informations au sujet d'une règle de délégation et sa cible :\n" +" ipa servicedelegationrule_show ftp-delegation\n" +" ipa servicedelegationtarget_show ftp-delegation-target\n" +"\n" +" Supprimer une délégation contrainte :\n" +" ipa servicedelegationrule-del ftp-delegation-target\n" +" ipa servicedelegationtarget-del ftp-delegation\n" +"\n" +"Dans cet exemple, le service ftp peut obtenir un TGT pour le service ldap\n" +"au nom de l'utilisateur associé.\n" +"\n" +"Il est fortement découragé de modifier les délégations livrées avec IPA,\n" +"ipa-http-delegation et ses cibles ipa-cifs-delegation-targets et\n" +"ipa-ldap-delegation-targets. Des modifications erronées peuvent obérer\n" +"la capacité de délégation, en provoquant l'arrêt de fonctionnement du\n" +"moteur.\n" + msgid "Allowed Target" msgstr "Cibles autorisées" @@ -12097,8 +13850,8 @@ msgstr "Autorisé à prendre l'identité" msgid "Member principals" msgstr "Principaux membres de" -msgid "Failed targets" -msgstr "Échec de la cible" +msgid "Add target to a named service delegation." +msgstr "Ajouter des cibles à une délégation de service nommé" msgid "Remove member from a named service delegation." msgstr "Retirer des membres d'une délégation de service nommé" @@ -12186,6 +13939,9 @@ msgstr "Cible de délégation de service « %(value)s » supprimée" msgid "privileged service delegation target" msgstr "cible de délégation de service privilégiée" +msgid "Search for service delegation target." +msgstr "Rechercher des cibles de délégation de service" + #, python-format msgid "%(count)d service delegation target matched" msgid_plural "%(count)d service delegation targets matched" @@ -12209,27 +13965,28 @@ msgid "" "\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" +"Users can not authenticate with those entries (even if the entries\n" +"contain credentials). Those entries are only 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" +"Users can authenticate with Active entries, at the condition they have\n" +"credentials.\n" "\n" -"Delete user entries are Posix users directly under the container: " +"Deleted user entries 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" +"Users 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" +"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" +"A valid stage user entry MUST have:\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" @@ -12244,7 +14001,7 @@ msgid "" " Add a new stageuser:\n" " ipa stageuser-add --first=Tim --last=User --password tuser1\n" "\n" -" Add a stageuser from the Delete container\n" +" Add a stageuser from the deleted users container:\n" " ipa stageuser-add --first=Tim --last=User --from-delete tuser1\n" "\n" msgstr "" @@ -12254,28 +14011,28 @@ msgstr "" "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" +"conteneur « cn=stage users, cn=accounts, cn=provisioning, SUFFIXE x.\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" +"si les entrées contiennent des données d'authentification) et ne sont que\n" +"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 " +"conteneur « cn=accounts, SUFFIXE ». 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" +"dans le conteneur « cn=deleted users, cn=accounts, cn=provisioning, " +"SUFFIXE ».\n" +"Un utilisateur ne peut s'authentifier à l'aide de ces entrées , même 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 " +" - créées par les commandes « stageuser-add », qui sont des utilisateurs " "Posix,\n" " - créées par des systèmes d'approvisionnement externes.\n" "\n" @@ -12290,7 +14047,7 @@ msgstr "" "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 " +"Utiliser la commande « ipa config-mod » pour modifier le format autorisé par " "les outils IPA.\n" "\n" "\n" @@ -12302,11 +14059,19 @@ msgstr "" " 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" + +msgid "Stage Users" +msgstr "Mettre en attente les utilisateurs" + +msgid "Stage User" +msgstr "Mettre en attente l'utilisateur" msgid "stage user" msgstr "utilis" +msgid "stage users" +msgstr "utilisateurs en attente" + msgid "Add a new stage user." msgstr "Ajouter un nouvel utilisateur en attente." @@ -12314,9 +14079,22 @@ msgstr "Ajouter un nouvel utilisateur en attente." msgid "Added stage user \"%(value)s\"" msgstr "Utilisateur en attente « %(value)s » ajouté" +msgid "Create Stage user in from a delete user" +msgstr "Créer un utilisateur en attente depuis un utilisateur supprimé" + +msgid "givenname is required" +msgstr "givenname est requis" + +msgid "sn is required" +msgstr "sn est requis" + msgid "Delete a stage user." msgstr "Supprimer un utilisateur en attente." +#, python-format +msgid "Deleted stage user \"%(value)s\"" +msgstr "Utilisateur en attente « %(value)s » supprimé" + msgid "Modify a stage user." msgstr "Modifier un utilisateur en attente." @@ -12346,17 +14124,27 @@ msgstr "Activer un utilisateur en attente « %(value)s »" msgid "Entry RDN is not 'uid'" msgstr "Le RDN de l'entrée n'est pas l'attribut « uid »" -msgid "Entry has no 'cn'" -msgstr "L'entrée n'a pas d'attribut « cn »" +#, python-format +msgid "Entry has no '%(attribute)s'" +msgstr "L'entrée ne possède aucun attribut « %(attribute)s »" #, python-format -msgid "Active user %(user)s already exists" -msgstr "L'utilisateur actif %(user)s existe déjà" +msgid "active user with name \"%(user)s\" already exists" +msgstr "L'utilisateur actif nommé « %(user)s » existe déjà" #, python-format msgid "Stage user %s activated" msgstr "Utilisateur en attente %s activé" +msgid "Add a manager to the stage user entry" +msgstr "Ajouter un responsable à l'entrée d'utilisateur en attente" + +msgid "Remove a manager to the stage user entry" +msgstr "Supprimer un responsable de l'entrée de l'utilisateur en attente." + +msgid "commands for controlling sudo configuration" +msgstr "commandes pour contrôler la configuration sudo" + msgid "" "\n" "Sudo Commands\n" @@ -12386,9 +14174,6 @@ msgstr "" " ipa sudocmd-del /usr/bin/less\n" "\n" -msgid "commands for controlling sudo configuration" -msgstr "commandes pour contrôler la configuration sudo" - msgid "sudo command" msgstr "commande sudo" @@ -12456,10 +14241,10 @@ msgid "" "vim admincmds\n" "\n" " Manage Sudo Command Group membership, commands:\n" -" ipa group-remove-member --sudocmds=/usr/bin/less admincmds\n" +" ipa sudocmdgroup-remove-member --sudocmds=/usr/bin/less admincmds\n" "\n" " Show a Sudo Command Group:\n" -" ipa group-show localadmins\n" +" ipa sudocmdgroup-show admincmds\n" msgstr "" "\n" "Groupes de commandes sudo\n" @@ -12479,10 +14264,10 @@ msgstr "" "vim admincmds\n" "\n" " Administrer les commandes, l'appartenance d'un groupe de commandes sudo :\n" -" ipa group-remove-member --sudocmds=/usr/bin/less admincmds\n" +" ipa sudocmdgroup-remove-member --sudocmds=/usr/bin/less admincmds\n" "\n" " Afficher un groupe de commandes sudo :\n" -" ipa group-show localadmins\n" +" ipa sudocmdgroup-show admincmds\n" msgid "sudo command group" msgstr "groupe de commandes sudo" @@ -12570,7 +14355,7 @@ msgstr "" "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" +" Allow Command : commande donnée pouvant être exécutée 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" @@ -12671,9 +14456,6 @@ msgstr "" " 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é abandonnée." @@ -12854,17 +14636,9 @@ msgstr "Afficher une règle sudo." msgid "Enable a Sudo Rule." msgstr "Activer une règle sudo." -#, python-format -msgid "Enabled Sudo Rule \"%s\"" -msgstr "Règle sudo « %s » activée" - msgid "Disable a Sudo Rule." msgstr "Désactiver une règle sudo." -#, python-format -msgid "Disabled Sudo Rule \"%s\"" -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 " @@ -12924,31 +14698,184 @@ 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." -#, python-format -msgid "Added option \"%(option)s\" to Sudo Rule \"%(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." -#, 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 »" - msgid "" "\n" "Topology\n" "\n" -"Management of a replication topology.\n" -"\n" -"Requires minimum domain level 1.\n" +"Management of a replication topology at domain level 1.\n" msgstr "" "\n" "Topologie\n" "\n" "Gestion de la topologie de réplication.\n" + +msgid "" +"\n" +"IPA server's data is stored in LDAP server in two suffixes:\n" +"* domain suffix, e.g., 'dc=example,dc=com', contains all domain related " +"data\n" +"* ca suffix, 'o=ipaca', is present only on server with CA installed. It\n" +" contains data for Certificate Server component\n" +msgstr "" +"\n" +"Les données des serveurs IPA sont enregistrées dans le serveur LDAP\n" +"sous deux suffixes :\n" +"* le suffixe de domain, par exemple « dc=example,dc=com », qui contient " +"toutes\n" +" les informations relatives au domaine ;\n" +"* le suffixe ca, « o=ipaca », qui n'est présent que sur les serveurs où " +"l'autorité de certification\n" +" est installée. Il contient les données nécessaire au composant " +"Certificate Server\n" + +msgid "" +"\n" +"Data stored on IPA servers is replicated to other IPA servers. The way it " +"is\n" +"replicated is defined by replication agreements. Replication agreements " +"needs\n" +"to be set for both suffixes separately. On domain level 0 they are managed\n" +"using ipa-replica-manage and ipa-csreplica-manage tools. With domain level " +"1\n" +"they are managed centrally using `ipa topology*` commands.\n" +msgstr "" +"\n" +"Les données enregistrées dans les serveurs IPA sont répliquées vers les " +"autres\n" +"serveurs IPA. Les agréments de réplication définissent la manière dont la \n" +"réplication s'opère. Les agréments de réplication doivent être définis " +"pour \n" +"les deux suffixes de manière séparée. Sur les domaines de niveau 0, ils " +"sont\n" +"gérés par les outils ipa-replica-manage et ipa-csreplica-manage tools. Sur \n" +"les domaines de niveau 1, ils sont gérés de manière centralisée par les " +"commandes\n" +"« ipa topology* ».\n" + +msgid "" +"\n" +"Agreements are represented by topology segments. By default topology " +"segment\n" +"represents 2 replication agreements - one for each direction, e.g., A to B " +"and\n" +"B to A. Creation of unidirectional segments is not allowed.\n" +msgstr "" +"\n" +"Les agréments sont représentés par des segments de topologie. Un segment de " +"topologie\n" +"représente par défaut deux agréments de réplication, un pour chaque " +"direction, par exemple\n" +"de A vers B et de B vers A. La création de segments unidirectionnels n'est " +"pas permise.\n" + +msgid "" +"\n" +"To verify that no server is disconnected in the topology of the given " +"suffix,\n" +"use:\n" +" ipa topologysuffix-verify $suffix\n" +msgstr "" +"\n" +"Afin de vérifier qu'aucun serveur n'est déconnecté dans la topologie d'un\n" +"suffixe donné, utiliser :\n" +" ipa topologysuffix-verify $suffix\n" + +msgid "" +"\n" +"\n" +"Examples:\n" +" Find all IPA servers:\n" +" ipa server-find\n" +msgstr "" +"\n" +"\n" +"Exemples :\n" +" Trouver tous les serveurs :\n" +" ipa server-find\n" + +msgid "" +"\n" +" Find all suffixes:\n" +" ipa topologysuffix-find\n" +msgstr "" +"\n" +" Trouver tous les suffixes :\n" +" ipa topologysuffix-find\n" + +msgid "" +"\n" +" Add topology segment to 'domain' suffix:\n" +" ipa topologysegment-add domain --left IPA_SERVER_A --right IPA_SERVER_B\n" +msgstr "" +"\n" +" Ajouter un segment de topologie au suffixe du domaine :\n" +" ipa topologysegment-add domain --left IPA_SERVER_A --right IPA_SERVER_B\n" + +msgid "" +"\n" +" Add topology segment to 'ca' suffix:\n" +" ipa topologysegment-add ca --left IPA_SERVER_A --right IPA_SERVER_B\n" +msgstr "" +"\n" +" Ajouter un segment de topologie au suffixe « ca » :\n" +" ipa topologysegment-add ca --left IPA_SERVER_A --right IPA_SERVER_B\n" + +msgid "" +"\n" +" List all topology segments in 'domain' suffix:\n" +" ipa topologysegment-find domain\n" +msgstr "" +"\n" +" Énumérer tous les segments de topologie dans le suffixe du domaine :\n" +" ipa topologysegment-find domain\n" + +msgid "" +"\n" +" List all topology segments in 'ca' suffix:\n" +" ipa topologysegment-find ca\n" +msgstr "" +"\n" +" Énumérer tous les segments de topologie dans le suffixe « ca » :\n" +" ipa topologysegment-find ca\n" + +msgid "" +"\n" +" Delete topology segment in 'domain' suffix:\n" +" ipa topologysegment-del domain segment_name\n" +msgstr "" +"\n" +" Supprimer un segment de topologie du suffixe du domaine :\n" +" ipa topologysegment-del domain segment_name\n" + +msgid "" +"\n" +" Delete topology segment in 'ca' suffix:\n" +" ipa topologysegment-del ca segment_name\n" +msgstr "" +"\n" +" Supprimer un segment de topologie du suffixe « ca » :\n" +" ipa topologysegment-del ca segment_name\n" + +msgid "" +"\n" +" Verify topology of 'domain' suffix:\n" +" ipa topologysuffix-verify domain\n" +msgstr "" +"\n" +" Vérification de la topologie du suffixe du domaine :\n" +" ipa topologysuffix-verify domain\n" + +msgid "" +"\n" +" Verify topology of 'ca' suffix:\n" +" ipa topologysuffix-verify ca\n" +msgstr "" "\n" -"Nécessite a minima le niveau 1 de domaine.\n" +" Vérification de la topologie du suffixe « ca » :\n" +" ipa topologysuffix-verify ca\n" #, python-brace-format msgid "Topology management requires minimum domain level {0} " @@ -12960,54 +14887,163 @@ msgstr "segment" msgid "segments" msgstr "segments" -msgid "Topology Segments" -msgstr "Segments de topologie" +msgid "Topology Segments" +msgstr "Segments de topologie" + +msgid "Topology Segment" +msgstr "Segment de topologie" + +msgid "Segment name" +msgstr "Nom de segment" + +msgid "Arbitrary string identifying the segment" +msgstr "Chaîne arbitraire identifiant le segment" + +msgid "Left node" +msgstr "Nœud de gauche" + +msgid "Left replication node - an IPA server" +msgstr "Nœud de réplication à gauche - un serveur IPA" + +msgid "Right node" +msgstr "Nœud de droite" + +msgid "Right replication node - an IPA server" +msgstr "Nœud de réplication à droite - un serveur IPA" + +msgid "Connectivity" +msgstr "Connectivité" + +msgid "Direction of replication between left and right replication node" +msgstr "" +"Direction de la réplication entre les nœuds gauche et droit de réplication" + +msgid "Attributes to strip" +msgstr "Attributs à supprimer" + +msgid "" +"A space separated list of attributes which are removed from replication " +"updates." +msgstr "" +"Une liste séparée par des espaces d'attributs qui seront supprimés lors des " +"mises à jour de la réplication." + +msgid "" +"Attributes that are not replicated to a consumer server during a fractional " +"update. E.g., `(objectclass=*) $ EXCLUDE accountlockout memberof" +msgstr "" +"Attributs qui ne seront pas répliqués vers un serveur consommateur lors " +"d'une réplication partielle. Par exemple, `(objectclass=*) $ EXCLUDE " +"accountlockout memberof" + +msgid "Attributes for total update" +msgstr "Attributs pour une mise à jour complète" + +msgid "" +"Attributes that are not replicated to a consumer server during a total " +"update. E.g. (objectclass=*) $ EXCLUDE accountlockout" +msgstr "" +"Les attributs qui ne sont pas répliqués vers un serveur consommateur pendant " +"une mise à jour complète. Par exemple : (objectclass=*) $ EXCLUDE " +"accountlockout" + +msgid "Session timeout" +msgstr "Délai d'expiration de la session" + +msgid "" +"Number of seconds outbound LDAP operations waits for a response from the " +"remote replica before timing out and failing" +msgstr "" +"Durée en secondes à attendre le bon achèvement des requêtes LDAP sortantes " +"de la part d'un replica distant avant mise en échec" + +msgid "Replication agreement enabled" +msgstr "Agrément de réplication activé" + +msgid "" +"Whether a replication agreement is active, meaning whether replication is " +"occurring per that agreement" +msgstr "" +"Activation ou non d'un agrément de réplication, signifiant que la " +"réplication fonctionne par le biais de cet agrément" + +#, python-format +msgid "left node is not a topology node: %(leftnode)s" +msgstr "le nœud de gauche n'est pas un nœud de la topologie : %(leftnode)s" + +#, python-format +msgid "right node is not a topology node: %(rightnode)s" +msgstr "le nœud de droite n'est pas un nœud de la topologie : %(rightnode)s" + +msgid "left node and right node must not be the same" +msgstr "les nœuds de gauche et de droite ne peuvent être identiques" + +msgid "Search for topology segments." +msgstr "Rechercher des segments de topologie." + +#, python-format +msgid "%(count)d segment matched" +msgid_plural "%(count)d segments matched" +msgstr[0] "%(count)d segment correspondant" +msgstr[1] "%(count)d segment correspondants" + +msgid "Add a new segment." +msgstr "Ajouter un noveau segment." + +#, python-format +msgid "Added segment \"%(value)s\"" +msgstr "Segment « %(value)s » ajouté" + +msgid "Delete a segment." +msgstr "Supprimer un segment." -msgid "Topology Segment" -msgstr "Segment de topologie" +#, python-format +msgid "Deleted segment \"%(value)s\"" +msgstr "Segment « %(value)s » supprimé" -msgid "Segment name" -msgstr "Nom de segment" +msgid "Modify a segment." +msgstr "Modifier un segment." -msgid "Arbitrary string identifying the segment" -msgstr "Chaîne arbitraire identifiant le segment" +#, python-format +msgid "Modified segment \"%(value)s\"" +msgstr "Segment « %(value)s » modifié" -msgid "Left node" -msgstr "Nœud de gauche" +msgid "" +"Request a full re-initialization of the node retrieving data from the other " +"node." +msgstr "" +"Demander une réinitialisation complète du nœud en récupérant les données " +"d'un autre nœud." -msgid "Left replication node - an IPA server" -msgstr "Nœud de réplication à gauche - un serveur IPA" +#, python-format +msgid "%(value)s" +msgstr "%(value)s" -msgid "Right node" -msgstr "Nœud de droite" +msgid "Initialize left node" +msgstr "Initialiser le nœud de gauche" -msgid "Right replication node - an IPA server" -msgstr "Nœud de réplication à droite - un serveur IPA" +msgid "Initialize right node" +msgstr "Initialiser le nœud de droite" -msgid "Connectivity" -msgstr "Connectivité" +msgid "Stop already started refresh of chosen node(s)" +msgstr "Arrêter un rafraichissement en cours du ou des nœuds choisis." -msgid "Direction of replication between left and right replication node" -msgstr "" -"Direction de la réplication entre les nœuds gauche et droit de réplication" +msgid "left or right node has to be specified" +msgstr "le nœud de gauche ou de droite doit être indiqué" -msgid "Attributes to strip" -msgstr "Attributs à supprimer" +msgid "only one node can be specified" +msgstr "seul un nœud peut être indiqué" -msgid "" -"A space separated list of attributes which are removed from replication " -"updates." +#, python-format +msgid "Replication refresh for segment: \"%(pkey)s\" requested." msgstr "" -"Une liste séparée par des espaces d'attributs qui seront supprimés lors des " -"mises à jour de la réplication." +"Raffraichissement demandé pour la réplication via le segment « %(pkey)s »." -msgid "" -"Attributes that are not replicated to a consumer server during a fractional " -"update. E.g., `(objectclass=*) $ EXCLUDE accountlockout memberof" +#, python-format +msgid "Stopping of replication refresh for segment: \"%(pkey)s\" requested." msgstr "" -"Attributs qui ne seront pas répliqués vers un serveur consommateur lors " -"d'une réplication partielle. Par exemple, `(objectclass=*) $ EXCLUDE " -"accountlockout memberof" +"Arrêt du raffraichissement demandé pour la réplication via le segment « " +"%(pkey)s »." msgid "Display a segment." msgstr "Afficher un segment." @@ -13015,10 +15051,10 @@ msgstr "Afficher un segment." msgid "suffix" msgstr "suffixe" -msgid "suffices" +msgid "suffixes" msgstr "suffixes" -msgid "Topology suffices" +msgid "Topology suffixes" msgstr "Suffixes de topologie" msgid "Topology suffix" @@ -13027,15 +15063,15 @@ msgstr "Suffixe de topologie" msgid "Suffix name" msgstr "Nom du suffixe" -msgid "LDAP suffix to be managed" -msgstr "Suffixe LDAP qui sera géré" +msgid "Managed LDAP suffix DN" +msgstr "DN du suffixe LDAP administré" -msgid "Search for topology suffices." +msgid "Search for topology suffixes." msgstr "Rechercher des suffixes de topologie." #, python-format msgid "%(count)d topology suffix matched" -msgid_plural "%(count)d topology suffices matched" +msgid_plural "%(count)d topology suffixes matched" msgstr[0] "%(count)d suffixe de topologie correspondant" msgstr[1] "%(count)d suffixes de topologie correspondants" @@ -13065,6 +15101,27 @@ msgstr "Afficher le suffixe géré." msgid "" "\n" +"Verify replication topology for suffix.\n" +"\n" +"Checks done:\n" +" 1. check if a topology is not disconnected. In other words if there are\n" +" replication paths between all servers.\n" +" 2. check if servers don't have more than the recommended number of\n" +" replication agreements\n" +msgstr "" +"\n" +"Vérifier la topologie de réplication pour le suffixe.\n" +"\n" +"Vérifications effectuées :\n" +" 1. vérfier si la topologie n'est pas déconnectée. En d'autres mots, si des " +"chemins\n" +" de réplication existent bien entre tous les serveurs.\n" +" 2. vérifier si tous les serveurs n'ont pas un nombre supérieur à celui " +"recommandé\n" +" d'agrément de réplication.\n" + +msgid "" +"\n" "Cross-realm trusts\n" "\n" "Manage trust relationship between IPA and Active Directory domains.\n" @@ -13262,12 +15319,21 @@ msgstr "" " ipa trustconfig-mod --type ad --fallback-primary-group \"Default SMB Group" "\"\n" +msgid "UPN suffixes" +msgstr "Suffixes UPN" + msgid "Non-Active Directory domain" msgstr "Domaine autre que Active Directory" msgid "RFC4120-compliant Kerberos realm" msgstr "Domaine Kerberos conforme à la RFC4120" +msgid "" +"Non-transitive external trust to a domain in another Active Directory forest" +msgstr "" +"Relation d'approbation externe non transitive vers un domaine dans une autre " +"forêt Active Directory" + msgid "Trusting forest" msgstr "Forêt en cours de mise en confiance" @@ -13289,6 +15355,39 @@ msgstr "Inconnu" msgid "Trust type (ad for Active Directory, default)" msgstr "Type de confiance (par défaut, ad pour Active Directory)" +#, python-format +msgid "" +" Alternatively, following servers are capable of running this command: " +"%(masters)s" +msgstr "" +" De manière alternative, les serveurs suivants sont capables d'exécuter " +"cette commande : %(masters)s" + +msgid "AD Trust setup" +msgstr "Configuration de la confiance AD" + +msgid "" +"Cannot perform the selected command without Samba 4 support installed. Make " +"sure you have installed server-trust-ad sub-package of IPA." +msgstr "" +"Impossible d'effectuer la commande sélectionnée sans installation de " +"Samba 4. Assurez-vous de bien avoir installé sur le serveur le paquet IPA " +"« server-trust-ad »." + +msgid "" +"Cannot perform the selected command without Samba 4 instance configured on " +"this machine. Make sure you have run ipa-adtrust-install on this server." +msgstr "" +"Impossible d'effectuer la commande sélectionnée sans configuration de Samba " +"4. Assurez-vous de bien avoir configuré ce serveur avec la commande « ipa-" +"adtrust-install »." + +msgid "" +"Fetching domains from trusted forest failed. See details in the error_log" +msgstr "" +"Échec de la récupération des domaines depuis la forêt approuvée. Voir les " +"informations détaillées dans le journal d'erreur." + msgid "trust" msgstr "confiance" @@ -13364,6 +15463,22 @@ msgid "Type of trusted domain ID range, one of {vals}" msgstr "" "Type de plage d'ID de domaine approuvé, une valeur à prendre parmi {vals}" +msgid "" +"Establish bi-directional trust. By default trust is inbound one-way only." +msgstr "" +"Établir une relation d'approbation bidirectionnelle. Par défaut, la relation " +"est unilatérale entrante uniquement." + +msgid "External trust" +msgstr "Relation d'approbation externe" + +msgid "" +"Establish external trust to a domain in another forest. The trust is not " +"transitive beyond the domain." +msgstr "" +"Établit une relation d'approbation externe vers un domaine dans une autre " +"forêt. La relation n'est pas transitive au delà du domaine." + #, python-format msgid "Added Active Directory trust for realm \"%(value)s\"" msgstr "Confiance Active Directory ajoutée pour le royaume « %(value)s »" @@ -13372,16 +15487,6 @@ msgstr "Confiance Active Directory ajoutée pour le royaume « %(value)s »" msgid "Re-established trust to domain \"%(value)s\"" msgstr "Rétablissement de la confiance pour le domaine « %(value)s »" -msgid "AD Trust setup" -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 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" @@ -13395,6 +15500,16 @@ msgstr "type de confiance" msgid "only \"ad\" is supported" msgstr "seul « ad » est pris en charge" +msgid "domain" +msgstr "domaine" + +msgid "" +"Cannot establish a trust to AD deployed in the same domain as IPA. Such " +"setup is not supported." +msgstr "" +"Impossible d'établir une relation d'approbation vers un AD déployé dans le " +"même domaine que IPA. Une telle configuration ne peut être prise en charge." + msgid "Realm-domain mismatch" msgstr "Incohérence domaine-royaume" @@ -13405,6 +15520,17 @@ msgstr "" "Pour établir la confiance avec Active Directory, le nom de domaine et le nom " "de royaume du serveur IPA doivent correspondre" +#, python-format +msgid "" +"Trusted domain %(domain)s is included among IPA realm domains. It needs to " +"be removed prior to establishing the trust. See the \"ipa realmdomains-mod --" +"del-domain\" command." +msgstr "" +"Le domaine approuvé %(domain)s est inclus parmi les royaumes de domaines " +"IPA. Il doit être retiré de manière préalable à l'établissement de la " +"relation d'approbation. Cf. la commande « ipa realmdomains-mod --del-" +"domain »." + msgid "Trusted domain and administrator account use different realms" msgstr "" "Le domaine approuvé et le compte administrateur utilisent des domaines " @@ -13555,6 +15681,18 @@ msgstr "GUID du domaine" msgid "Fallback primary group" msgstr "Groupe principal de repli" +msgid "IPA AD trust agents" +msgstr "Agents IPA de relation d'approbation AD" + +msgid "IPA servers configured as AD trust agents" +msgstr "Serveurs IPA configurés comme agents de relation d'approbation AD" + +msgid "IPA AD trust controllers" +msgstr "Contrôleurs IPA de relation d'approbation AD" + +msgid "IPA servers configured as AD trust controllers" +msgstr "Serveurs IPA configurés comme contrôleurs de relation d'approbation AD" + msgid "unsupported trust type" msgstr "type de relation de confiance non pris en charge" @@ -13576,9 +15714,6 @@ msgstr "" msgid "Security Identifiers (SIDs)" msgstr "Identifiants de sécurité (SID)" -msgid "Name" -msgstr "Nom" - msgid "SID" msgstr "SID" @@ -13624,9 +15759,6 @@ msgstr "domaine approuvé" msgid "Domain name" msgstr "Nom de domaine" -msgid "Trusted domain partner" -msgstr "Partenaire de domaine approuvé" - msgid "Search domains of the trust" msgstr "Recherches dans les domaines approuvés" @@ -13656,6 +15788,13 @@ msgstr "" msgid "Refresh list of the domains associated with the trust" msgstr "Rafraîchir la liste des domaines associés à la relation de confiance" +msgid "" +"List of trust domains successfully refreshed. Use trustdomain-find command " +"to list them." +msgstr "" +"Liste des domaines approuvés rafraîchie avec succès. Utiliser la commande " +"« trustdomain-find » pour les énumérer." + msgid "List of trust domains successfully refreshed" msgstr "Liste des domaines approuvés rafraîchie avec succès" @@ -13805,16 +15944,9 @@ msgstr "Supprimer un utilisateur." msgid "Deleted user \"%(value)s\"" msgstr "Utilisateur « %(value)s » supprimé" -msgid "Delete a user, keeping the entry available for future use" -msgstr "" -"Supprimer un utilisateur en préservant l'entrée correspondantes pour un " -"usage futur" - -msgid "Delete a user" -msgstr "Supprimer un utilisateur" - -msgid "preserve and no-preserve cannot be both set" -msgstr "preserve et no-preserve ne peuvent être indiqués simultanément" +#, python-format +msgid "%s: user is already preserved" +msgstr "%s : l'utilisateur est déjà préservé" msgid "Modify a user." msgstr "Modifier un utilisateur." @@ -13844,12 +15976,15 @@ msgid "Undeleted user account \"%(value)s\"" msgstr "Compte utilisateur « %(value)s » restauré" #, python-format -msgid "User %r is already active" -msgstr "L'utilisateur %r est déjà actif" +msgid "user \"%s\" is already active" +msgstr "l'utilisateur « %s » est déjà actif" + +msgid "Move deleted user into staged area" +msgstr "Déplacer l'utilisateur supprimé dans l'espace en attente" #, python-format -msgid "User %r not found" -msgstr "Utilisateur %r introuvable" +msgid "Staged user account \"%(value)s\"" +msgstr "Compte utilisateur en attente « %(value)s »" msgid "Disable a user account." msgstr "Désactiver un compte utilisateur." @@ -13952,6 +16087,26 @@ msgstr "%(host)s en échec" msgid "Account disabled: %(disabled)s" msgstr "Compte désactivé : %(disabled)s" +msgid "Add one or more certificates to the user entry" +msgstr "Ajouter un ou plusieurs certificats à l'entrée utilisateur" + +#, python-format +msgid "Added certificates to user \"%(value)s\"" +msgstr "Certificats ajoutés à l'utilisateur « %(value)s »" + +msgid "Remove one or more certificates to the user entry" +msgstr "Supprimer les certificats de l'entrée de l'utilisateur" + +#, python-format +msgid "Removed certificates from user \"%(value)s\"" +msgstr "Certificats supprimés de l'utilisateur « %(value)s »" + +msgid "Add a manager to the user entry" +msgstr "Ajouter un responsable à l'entrée de l'utilisateur" + +msgid "Remove a manager to the user entry" +msgstr "Supprimer un responsable de l'entrée de l'utilisateur" + msgid "" "\n" "Vaults\n" @@ -13968,611 +16123,614 @@ msgstr "" msgid "" "\n" -" List private vaults:\n" -" ipa vault-find\n" +"Vault is a secure place to store a secret.\n" msgstr "" "\n" -" Énumérer les coffres-forts privés :\n" -" ipa vault-find\n" +"Le coffre est une emplacement sécurisé destiné à stocker un secret.\n" msgid "" "\n" -" List service vaults:\n" -" ipa vault-find --service \n" +"Based on the ownership there are three vault categories:\n" +"* user/private vault\n" +"* service vault\n" +"* shared vault\n" msgstr "" "\n" -" Énumérer les coffres-forts pour un service :\n" -" ipa vault-find --service \n" +"Il existe trois types de coffres-forts en fonction de leur propriété :\n" +"* coffre utilisateur/privé\n" +"* coffre de service\n" +"* coffre-fort partagé (shared)\n" msgid "" "\n" -" List shared vaults:\n" -" ipa vault-find --shared\n" +"User vaults are vaults owned used by a particular user. Private\n" +"vaults are vaults owned the current user. Service vaults are\n" +"vaults owned by a service. Shared vaults are owned by the admin\n" +"but they can be used by other users or services.\n" msgstr "" "\n" -" Énumérer les coffres-forts partagés :\n" -" ipa vault-find --shared\n" +"Les coffres-forts utilisateurs sont des coffres appartenant à un " +"utilisateur\n" +"en particulier. Les coffres privés appartiennent à l'utilisateur courant. " +"Les\n" +"coffres de services appartiennent à un service. Les coffres partagés \n" +"appartiennent à l'administrateur, mais peuvent être utilisés par d'autres\n" +"utilisateurs ou services.\n" msgid "" "\n" -" List user vaults:\n" -" ipa vault-find --user \n" +"Based on the security mechanism there are three types of\n" +"vaults:\n" +"* standard vault\n" +"* symmetric vault\n" +"* asymmetric vault\n" msgstr "" "\n" -" Énumérer les coffres-forts d'un utilisateur :\n" -" ipa vault-find --user \n" +"Il existe trois types de coffres-forts en fonction de leur mécanisme\n" +"de sécurité :\n" +"* coffre-fort standard\n" +"* coffre-fort symétrique\n" +"* coffre-fort asymétrique\n" msgid "" "\n" -" Add a private vault:\n" -" ipa vault-add \n" +"Standard vault uses a secure mechanism to transport and\n" +"store the secret. The secret can only be retrieved by users\n" +"that have access to the vault.\n" msgstr "" "\n" -" Ajouter un coffre-fort privé :\n" -" ipa vault-add \n" +"Le coffre-fort standard utilise un mécanisme sécurisé pour le\n" +"transport et le stockage du secret. Le secret ne peut être récupéré\n" +"que par les utilisateurs ayant accès au coffre.\n" msgid "" "\n" -" Add a service vault:\n" -" ipa vault-add --service \n" +"Symmetric vault is similar to the standard vault, but it\n" +"pre-encrypts the secret using a password before transport.\n" +"The secret can only be retrieved using the same password.\n" msgstr "" "\n" -" Ajouter un coffre-fort de service :\n" -" ipa vault-add --service \n" +"Le coffre-fort symétrique est similaire au coffre standard, mais il \n" +"pré-chiffre le secret à l'aide d'un mot de passe avant son transport.\n" +"Le secret ne peut être récupéré qu'à l'aide du même mot de passe.\n" +"\n" msgid "" "\n" -" Add a shared vault:\n" -" ipa vault-add --shared\n" +"Asymmetric vault is similar to the standard vault, but it\n" +"pre-encrypts the secret using a public key before transport.\n" +"The secret can only be retrieved using the private key.\n" msgstr "" "\n" -" Ajouter un coffre-fort partagé :\n" -" ipa vault-add --shared\n" +"Le coffre-fort asymétrique est similaire au coffre standard, mais il \n" +"pré-chiffre le secret à l'aide d'une clé publique avant son transport.\n" +"Le secret ne peut être récupéré qu'avec la clé privée correspondante.\n" msgid "" "\n" -" Add a user vault:\n" -" ipa vault-add --user \n" +" List vaults:\n" +" ipa vault-find\n" +" [--user |--service |--shared]\n" msgstr "" "\n" -" Ajouter un coffre-fort d'utilisateur :\n" -" ipa vault-add --user \n" +" Énumérer les coffres-forts pour un service :\n" +" ipa vault-find\n" +" [--user |--service |--shared]\n" msgid "" "\n" -" Show a private vault:\n" -" ipa vault-show \n" +" Add a standard vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type standard\n" msgstr "" "\n" -" Show a private vault:\n" -" ipa vault-show \n" +" Ajouter un coffre-fort standard :\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type standard\n" msgid "" "\n" -" Show a service vault:\n" -" ipa vault-show --service \n" +" Add a symmetric vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type symmetric --password-file password.txt\n" msgstr "" "\n" -" Afficher un coffre-fort privé :\n" -" ipa vault-show --service \n" +" Ajouter un coffre-fort symétrique :\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type symmetric --password-file mot_de_passe.txt\n" msgid "" "\n" -" Show a shared vault:\n" -" ipa vault-show --shared\n" +" Add an asymmetric vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type asymmetric --public-key-file public.pem\n" msgstr "" "\n" -" Afficher un coffre-fort partagé :\n" -" ipa vault-show --shared\n" +" Ajouter un coffre-fort symétrique :\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type symmetric --public-key-file public.pem\n" msgid "" "\n" -" Show a user vault:\n" -" ipa vault-show --user \n" +" Show a vault:\n" +" ipa vault-show \n" +" [--user |--service |--shared]\n" msgstr "" "\n" -" Afficher un coffre-fort d'utilisateur :\n" -" ipa vault-show --user \n" +" Afficher un coffre-fort :\n" +" ipa vault-show \n" +" [--user |--service |--shared]\n" msgid "" "\n" -" Modify a private vault:\n" -" ipa vault-mod --desc \n" +" Modify vault description:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --desc \n" msgstr "" "\n" -" Modifier un coffre-fort privé :\n" -" ipa vault-mod --desc \n" +" Modifier la description d'un coffre-fort :\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --desc \n" msgid "" "\n" -" Modify a service vault:\n" -" ipa vault-mod --service --desc \n" +" Modify vault type:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --type \n" +" [old password/private key]\n" +" [new password/public key]\n" msgstr "" "\n" -" Modifier un coffre-fort de service :\n" -" ipa vault-mod --service --desc \n" +" Modifier le type d'un coffre-fort :\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --type \n" +" [ancient mot de passe/clé privée]\n" +" [nouveau mot de passe/clé publique]\n" msgid "" "\n" -" Modify a shared vault:\n" -" ipa vault-mod --shared --desc \n" +" Modify symmetric vault password:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --change-password\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --old-password \n" +" --new-password \n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --old-password-file \n" +" --new-password-file \n" msgstr "" "\n" -" Modifier un coffre-fort partagé :\n" -" ipa vault-mod --shared --desc \n" +" Modifier un coffre-fort symétrique :\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --change-password\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --old-password \n" +" --new-password \n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --old-password-file \n" +" --new-password-file \n" msgid "" "\n" -" Modify a user vault:\n" -" ipa vault-mod --user --desc \n" +" Modify asymmetric vault keys:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --private-key-file \n" +" --public-key-file \n" msgstr "" "\n" -" Modifier un coffre-fort d'utilisateur :\n" -" ipa vault-mod --user --desc \n" +" Modifier les clés d'un coffre-fort asymétrique :\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --private-key-file \n" +" --public-key-file \n" msgid "" "\n" -" Delete a private vault:\n" +" Delete a vault:\n" " ipa vault-del \n" +" [--user |--service |--shared]\n" msgstr "" "\n" -" Supprimer un coffre-fort privé :\n" -" ipa vault-del \n" +" Supprimer un coffre-fort :\n" +" ipa vault-del \n" +" [--user |--service |--shared]\n" msgid "" "\n" -" Delete a service vault:\n" -" ipa vault-del --service \n" +" Display vault configuration:\n" +" ipa vaultconfig-show\n" msgstr "" "\n" -" Supprimer un coffre-fort de service :\n" -" ipa vault-del --service \n" +" Afficher la configuration des coffres-forts :\n" +" ipa vaultconfig-show\n" msgid "" "\n" -" Delete a shared vault:\n" -" ipa vault-del --shared\n" +" Archive data into standard vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" msgstr "" "\n" -" Supprimer un coffre-fort partagé :\n" -" ipa vault-del --shared\n" +" Archiver des données dans un coffre-fort standard :\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" msgid "" "\n" -" Delete a user vault:\n" -" ipa vault-del --user \n" +" Archive data into symmetric vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" +" --password-file password.txt\n" msgstr "" "\n" -" Supprimer un coffre-fort d'utilisateur :\n" -" ipa vault-del --user \n" +" Archiver des données dans un coffre-fort symétrique :\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" +" --password-file mot_de_passe.txt\n" msgid "" "\n" -" Display vault configuration:\n" -" ipa vault-config\n" +" Archive data into asymmetric vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" msgstr "" "\n" -" Afficher la configuration des coffres-forts :\n" -" ipa vault-config\n" +" Archiver des données dans un coffre-fort asymétrique :\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" msgid "" "\n" -" Archive data into private vault:\n" -" ipa vault-archive --in \n" +" Retrieve data from standard vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out \n" msgstr "" "\n" -" Archiver des données dans un coffre-fort privé :\n" -" ipa vault-archive --in \n" +" Récupérer des données d'un coffre-fort standard :\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out \n" msgid "" "\n" -" Archive data into service vault:\n" -" ipa vault-archive --service --in \n" +" Retrieve data from symmetric vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out \n" +" --password-file password.txt\n" msgstr "" "\n" -" Archiver des données dans un coffre-fort de service :\n" -" ipa vault-archive --service --in \n" +" Récupérer des données d'un coffre-fort symétrique :\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out \n" +" --password-file mot_de_passe.txt\n" msgid "" "\n" -" Archive data into shared vault:\n" -" ipa vault-archive --shared --in \n" +" Retrieve data from asymmetric vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out --private-key-file private.pem\n" msgstr "" "\n" -" Archiver des données dans un coffre-fort partagé :\n" -" ipa vault-archive --shared --in \n" +" Récupérer des données d'un coffre-fort asymétrique :\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out --private-key-file clé_privée.pem\n" msgid "" "\n" -" Archive data into user vault:\n" -" ipa vault-archive --user --in \n" +" Add vault owners:\n" +" ipa vault-add-owner \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" msgstr "" "\n" -" Archiver des données dans un coffre-fort d'utilisateur :\n" -" ipa vault-archive --user --in \n" +" Ajouter des propriétaires à un coffre-fort :\n" +" ipa vault-add-owner \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services " +"]\n" msgid "" "\n" -" Retrieve data from private vault:\n" -" ipa vault-retrieve --out \n" +" Delete vault owners:\n" +" ipa vault-remove-owner \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" msgstr "" "\n" -" Récupérer des données d'un coffre-fort privé :\n" -" ipa vault-retrieve --out \n" +" Supprimer des propriétaires d'un coffre-fort :\n" +" ipa vault-remove-owner \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services " +"]\n" msgid "" "\n" -" Retrieve data from service vault:\n" -" ipa vault-retrieve --service --out \n" +" Add vault members:\n" +" ipa vault-add-member \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" msgstr "" "\n" -" Récupérer des données d'un coffre-fort de service :\n" -" ipa vault-retrieve --service --out \n" +" Ajouter des membres à un coffre-fort :\n" +" ipa vault-add-member \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services " +"]\n" msgid "" "\n" -" Retrieve data from shared vault:\n" -" ipa vault-retrieve --shared --out \n" +" Delete vault members:\n" +" ipa vault-remove-member \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" msgstr "" "\n" -" Récupérer des données d'un coffre-fort partagé :\n" -" ipa vault-retrieve --shared --out \n" +" Supprimer des membres d'un coffre-fort :\n" +" ipa vault-remove-member \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services " +"]\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 "Service name of the service vault" +msgstr "Nom de service du service coffre" 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" - -msgid "not allowed to perform this command" -msgstr "non autorisé à effectuer cette commande" - -msgid "No such virtual command" -msgstr "Commande virtuelle inconnue" - -msgid "any of the configured servers" -msgstr "n'importe quel serveur configuré" - -msgid "could not allocate unique new session_id" -msgstr "impossible d'allouer un seul « session_id »" - -msgid "Filename is empty" -msgstr "Le nom de fichier est vide" - -#, python-format -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 pas dépasser 63 caractères" +msgid "Username of the user vault" +msgstr "Nom d'utilisateur du coffre-fort personnel" -#, python-format msgid "" -"only letters, numbers, %(chars)s are allowed. DNS label may not start or end " -"with %(chars2)s" +"\n" +" Vault Container object.\n" +" " msgstr "" -"uniquement lettres, nombres, %(chars)s sont autorisés. Les noms DNS ne " -"peuvent commencer ou se terminer par %(chars2)s" +"\n" +" Objet conteneur de coffre-fort.\n" +" " -msgid "too many '@' characters" -msgstr "trop de caractères « @ »" +msgid "vaultcontainer" +msgstr "vaultcontainer" -msgid "cannot be longer that 255 characters" -msgstr "ne peut pas dépasser 255 caractères." +msgid "vaultcontainers" +msgstr "vaultcontainers" -msgid "hostname contains empty label (consecutive dots)" -msgstr "le nom d'hôte contient un libellé vide (plusieurs points consécutifs)" +msgid "Vault Containers" +msgstr "Conteneurs de coffres-forts" -msgid "not fully qualified" -msgstr "pas pleinement qualifié" +msgid "Vault Container" +msgstr "Conteneur de coffres-forts" -msgid "invalid SSH public key" -msgstr "clé publique SSH invalide" +msgid "Owner users" +msgstr "Utilisateurs propriétaires" -msgid "options are not allowed" -msgstr "les options ne sont pas autorisées" +msgid "Owner groups" +msgstr "Groupes propriétaires" -msgid "invalid hostmask" -msgstr "masque d'hôte invalide" +msgid "Owner services" +msgstr "Services propriétaires" -msgid "invalid escape code in domain name" -msgstr "code d'échappement invalide dans le nom du domaine" +msgid "Vault service" +msgstr "Service du coffre-fort" -msgid "domain name cannot be longer than 255 characters" -msgstr "le nom de domaine ne peut pas dépasser 255 caractères" +msgid "Vault user" +msgstr "Utilisateur du coffre-fort" -msgid "DNS label cannot be longer than 63 characters" -msgstr "un libellé de DNS ne peut pas dépasser 63 caractères" +msgid "Service, shared and user options cannot be specified simultaneously" +msgstr "" +"Les options de service, d'utilisateur ou de coffre-fort partagé ne peuvent " +"être utilisées simultanément" -msgid "invalid domain name" -msgstr "nom de domaine invalide" +msgid "Host is not supported" +msgstr "L'hôte n'est pas pris en charge" -#, 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 "Display information about a vault container." +msgstr "Afficher les informations sur un conteneur de coffre-fort." -msgid "improperly formatted DER-encoded certificate" -msgstr "format incorrect du certificat encodé DER" +msgid "KRA service is not enabled" +msgstr "Le service KRA est désactivé" -#, python-format -msgid "Issuer \"%(issuer)s\" does not match the expected issuer" -msgstr "L'émetteur « %(issuer)s » ne correspond pas à l'émetteur attendu" +msgid "Delete a vault container." +msgstr "Supprimer un conteneur de coffre-fort." -#, python-format -msgid "Retrieving CA cert chain failed: %s" -msgstr "Échec de la récupération de la chaîne de certificat de l'AC : %s" +msgid "Deleted vault container" +msgstr "Conteneur de coffre-fort supprimé" -#, python-format -msgid "request failed with HTTP status %d" -msgstr "échec de la requête avec le code état HTTP %d" +msgid "Add owners to a vault container." +msgstr "Ajouter des propriétaires à un conteneur de coffre-fort." #, python-format -msgid "Retrieving CA status failed: %s" -msgstr "Échec de la récupération de l'état de l'AC : %s" +msgid "owner %s" +msgstr "propriétaire %s" -#, python-format -msgid "objectclass %s not found" -msgstr "classe d'objet %s introuvable" +msgid "Owners that could not be added" +msgstr "Propriétaires n'ayant pu être ajoutés" + +msgid "Number of owners added" +msgstr "Nombre de propriétaires ajoutés" + +msgid "Remove owners from a vault container." +msgstr "Supprimer des propriétaires d'un conteneur de coffre-fort." + +msgid "Owners that could not be removed" +msgstr "Propriétaires n'ayant pu être supprimés" + +msgid "Number of owners removed" +msgstr "Nombre de propriétaires supprimés" msgid "" "\n" -"Classes to manage trust joins using DCE-RPC calls\n" -"\n" -"The code in this module relies heavily on samba4-python package\n" -"and Samba4 python bindings.\n" +" Vault object.\n" +" " msgstr "" "\n" -"Classes pour gérer des jonctions de confiance avec des appels DCE-RPC\n" -"\n" -"Le code de ce module s'appuie pour l'essentiel sur le paquet\n" -"« samba4-python » et les liaisons python de Samba4.\n" +" Objet coffre-fort.\n" +" " -msgid "CIFS server denied your credentials" -msgstr "Le serveur CIFS a refusé vos justificatifs d'identité" +msgid "vault" +msgstr "coffre-fort" -msgid "communication with CIFS server was unsuccessful" -msgstr "la communication avec le serveur CIFS a échoué" +msgid "vaults" +msgstr "coffres-forts" -msgid "AD domain controller" -msgstr "Contrôleur de domaine AD" +msgid "Vaults" +msgstr "Coffres-forts" -msgid "unsupported functional level" -msgstr "niveau de fonctionnalité non pris en charge" +msgid "Vault" +msgstr "Coffre-fort" -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 "Vault name" +msgstr "Nom du coffre-fort" -msgid "Cannot find specified domain or server name" -msgstr "Impossible de trouver le domaine ou le serveur indiqué" +msgid "Vault description" +msgstr "Description du coffre-fort" -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é" +msgid "Vault type" +msgstr "Type de coffre-fort" -#, 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 peuvent être « None »)" +msgid "Salt" +msgstr "Sel" -msgid "no trusted domain is configured" -msgstr "pas de relation de confiance configurée" +msgid "Vault salt" +msgstr "Sel du coffre-fort" -msgid "domain is not configured" -msgstr "le domaine n'est pas configuré" +msgid "Public key" +msgstr "Clé publique" -msgid "SID is not valid" -msgstr "Le SID n'est pas valide" +msgid "Vault public key" +msgstr "Clé publique du coffre-fort" -msgid "SID does not match exactlywith any trusted domain's SID" -msgstr "Le SID ne correspond exactement à aucun SID du domaine approuvé" +msgid "Service, shared, and user options cannot be specified simultaneously" +msgstr "" +"Les options de service, de partage et d'utilisateur ne peuvent être " +"utilisées simultanément." -msgid "SID does not match any trusted domain" -msgstr "Le SID ne correspond à aucun domaine approuvé" +#, python-format +msgid "Added vault \"%(value)s\"" +msgstr "Ajout de « %(value)s » au coffre" -msgid "Trust setup" -msgstr "Configuration des relations d'approbation" +msgid "Delete a vault." +msgstr "Supprimer un coffre-fort." -msgid "Our domain is not configured" -msgstr "Notre domaine n'est pas configuré" +#, python-format +msgid "Deleted vault \"%(value)s\"" +msgstr "Valeur « %(value)s » supprimée du coffre" -msgid "No trusted domain is not configured" -msgstr "Aucun domaine approuvé n'est pas configuré" +msgid "Search for vaults." +msgstr "Rechercher des coffres-forts" -msgid "trusted domain object" -msgstr "objet domaine approuvé" +msgid "List all service vaults" +msgstr "Énumérer tous les coffres-forts de services" -msgid "domain is not trusted" -msgstr "le domaine n'est pas de confiance" +msgid "List all user vaults" +msgstr "Énumérer tous les coffres-forts d'utilisateurs" -msgid "no trusted domain matched the specified flat name" -msgstr "aucun domaine approuvé ne correspond au nom simple indiqué" +#, 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 "trusted domain object not found" -msgstr "objet relation de confiance introuvable" +msgid "" +"Service(s), shared, and user(s) options cannot be specified simultaneously" +msgstr "" +"Les options de service(s), d'utilisateur(s) ou de coffres-forts partagé(s) " +"ne peuvent être utilisées simultanément" -msgid "Ambiguous search, user domain was not specified" -msgstr "Recherche ambiguë, le domaine utilisateur n'a pas été indiqué" +#, python-format +msgid "Modified vault \"%(value)s\"" +msgstr "Coffre-fort « %(value)s » modifié" -msgid "Trusted domain did not return a unique object" -msgstr "Le domaine approuvé n'a pas renvoyé un objet unique" +msgid "Display information about a vault." +msgstr "Afficher des informations sur un coffre-fort." -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" +msgid "Vault configuration" +msgstr "Configuration du coffre-fort" -msgid "trusted domain user not found" -msgstr "utilisateur de domaine approuvé introuvable" +msgid "Transport Certificate" +msgstr "Certificat de transport" -msgid "Cannot retrieve trusted domain GC list" -msgstr "Impossible de récupérer la liste GC du domaine approuvé" +msgid "IPA KRA servers" +msgstr "Serveurs KRA IPA" -msgid "CIFS credentials object" -msgstr "Objet justificatif d'identité de CIFS" +msgid "IPA servers configured as key recovery agents" +msgstr "Serveurs IPA configurés comme agents de recouvrement de clés" -#, python-format -msgid "CIFS server %(host)s denied your credentials" -msgstr "Le serveur CIFS %(host)s a refusé vos justificatifs d'identité" +msgid "Show vault configuration." +msgstr "Afficher la configuration du coffre-fort." -#, 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 cours d'exécution ?" +msgid "Output file to store the transport certificate" +msgstr "Fichier où stocker le certificat de transport" -#, python-format -msgid "" -"the IPA server and the remote domain cannot share the same NetBIOS name: %s" -msgstr "" -"le serveur IPA et le domaine distant ne peuvent partager le même nom " -"NetBIOS : %s" +msgid "Session key wrapped with transport certificate" +msgstr "Clé de session emballée avec le certificat de transport" + +msgid "Vault data encrypted with session key" +msgstr "Les données du coffre-fort sont chiffrées avec la clé de session" + +msgid "Nonce" +msgstr "Usage unique" #, python-format -msgid "Unable to communicate with CMS (%s)" -msgstr "Impossible de communiquer avec le CMS (%s)" +msgid "Archived data into vault \"%(value)s\"" +msgstr "Données archivées dans le coffre-fort « %(value)s »" -msgid "Unable to communicate with CMS" -msgstr "Impossible de communiquer avec le CMS" +#, python-format +msgid "Retrieved data from vault \"%(value)s\"" +msgstr "Donnée récupérée depuis le coffre-fort « %(value)s »" -msgid "find not supported on CAs upgraded from 9 to 10" -msgstr "" -"recherche non prise en charge sur les CA mis à jour de la version 9 à la " -"version 10" +msgid "No archived data." +msgstr "Aucune donnée archivée." -msgid "REST API is not logged in." -msgstr "L'API REST n'est pas connectée." +msgid "Add owners to a vault." +msgstr "Ajouter des propriétaires à un coffre-fort." -msgid "The hostname to register as" -msgstr "Le nom d'hôte sous lequel enregistrer" +msgid "Remove owners from a vault." +msgstr "Supprimer les propriétaires d'un coffre-fort." -msgid "The IPA realm" -msgstr "Le domaine IPA" +msgid "Add members to a vault." +msgstr "Ajouter des membres à un coffre-fort." -msgid "Hardware platform of the host (e.g. Lenovo T61)" -msgstr "Plate-forme matérielle de l'hôte (par ex. Lenovo T61)" +msgid "Remove members from a vault." +msgstr "Supprimer les membres d'un coffre-fort." -msgid "Operating System and version of the host (e.g. Fedora 9)" -msgstr "Système d'exploitation et version de l'hôte (par ex. Fedora 9)" +msgid "operation not defined" +msgstr "opération non définie" #, python-format -msgid "" -"Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry " -"'%s'." -msgstr "" -"Privilège « write » insuffisant pour l'attribut « krbLastPwdChange » de " -"l'entrée « %s »." +msgid "not allowed to perform operation: %s" +msgstr "non autorisé à effectuer l'opération : %s" -msgid "Could not read UPG Definition originfilter. Check your permissions." -msgstr "" -"Impossible de lire « originfilter » de « UPG Definition ». Vérifiez vos " -"permissions." +msgid "No such virtual command" +msgstr "Commande virtuelle inconnue" msgid "Request must be a dict" msgstr "La requête doit être un dictionnaire" @@ -14595,6 +16753,43 @@ msgstr "« params[0] » (alias « args ») doit être une liste" msgid "params[1] (aka options) must be a dict" msgstr "« params[1] » (alias « options ») doit être un dictionnaire " +#, python-format +msgid "all masters must have %(role)s role enabled" +msgstr "tous les maîtres doivent avoir le rôle %(role)s activé" + +#, python-format +msgid "must have %(role)s role enabled" +msgstr "doit avoir le rôle %(role)s activé" + +#, python-format +msgid "" +"\n" +"Replication topology in suffix '%(suffix)s' is disconnected:\n" +"%(errors)s" +msgstr "" +"\n" +"La topologie de réplication dans le suffixe « %(suffix)s » est " +"déconnectée :\n" +"%(errors)s" + +#, python-format +msgid "" +"\n" +"Removal of '%(hostname)s' leads to disconnected topology in suffix " +"'%(suffix)s':\n" +"%(errors)s" +msgstr "" +"\n" +"La suppression de « %(hostname)s » engendre une déconnexion de la topologie " +"de réplication pour le suffixe « %(suffix)s » :\n" +"%(errors)s" + +#, python-format +msgid "Topology does not allow server %(server)s to replicate with servers:" +msgstr "" +"La topologie ne permet pas au serveur %(server)s de se répliquer avec les " +"serveurs :" + #, c-format msgid "cannot open configuration file %s\n" msgstr "impossible d'ouvrir le fichier de configuration %s\n" @@ -14668,6 +16863,10 @@ msgid "Failed to get result: %s\n" msgstr "Impossible d'obtenir le résultat : %s\n" #, c-format +msgid "Timeout exceeded." +msgstr "Délai d'attente dépassé." + +#, c-format msgid "Failed to parse extended result: %s\n" msgstr "Impossible d'analyser le résultat étendu : %s\n" @@ -14728,6 +16927,14 @@ msgstr "Nouveau mot de passe du principal" msgid "Verify Principal Password" msgstr "Vérifier le mot de passe du principal" +#, c-format +msgid "Failed to open config file %s\n" +msgstr "impossible d'ouvrir le fichier de configuration %s\n" + +#, c-format +msgid "Failed to parse config file %s\n" +msgstr "Impossible d'analyser le fichier de configuration %s\n" + msgid "Print as little as possible" msgstr "Afficher aussi peu que possible" @@ -14808,6 +17015,10 @@ msgstr "" "Mot de passe de laison requis lors de l'utilisation d'un DN de liaison.\n" #, c-format +msgid "Server name not provided and unavailable\n" +msgstr "Nom de serveur non fourni et indisponible\n" + +#, c-format msgid "Incompatible options provided (-r and -P)\n" msgstr "Options incompatibles indiquées (-r et -P)\n" @@ -15182,3 +17393,198 @@ msgstr "Échec de création de la clé !\n" msgid "Bad or unsupported salt type.\n" msgstr "Type « salt » non-conforme ou non pris en compte.\n" + +#~ 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" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "Opérations de certification IPA\n" +#~ "\n" +#~ "Implémente un jeu de commandes pour gérer les certificats SSL du " +#~ "serveur.\n" +#~ "\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\n" +#~ "du sujet aux valeurs configurées dans le serveur.\n" +#~ "\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 (utiliser --add pour l'ajouter " +#~ "automatiquement)\n" +#~ "\n" +#~ "RECHERCHE :\n" +#~ "\n" +#~ "Les certificats peuvent être recherchés par sujet, numéro de série,\n" +#~ "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. Combinées, elles sont équivalentes à un AND.\n" +#~ "\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" +#~ "EXEMPLES :\n" +#~ "\n" +#~ " Demander un nouveau certificat et ajouter le principal :\n" +#~ " ipa cert-request --add --principal=HTTP/lion.example.com example.csr\n" +#~ "\n" +#~ " Retrouver un certificat existant :\n" +#~ " ipa cert-show 1032\n" +#~ "\n" +#~ " Révoquer un certificat (voir RFC 5280 pour le détail des raisons) :\n" +#~ " ipa cert-revoke --revocation-reason=6 1032\n" +#~ "\n" +#~ " Lever l'état de maintien de révocation d'un certificat :\n" +#~ " ipa cert-remove-hold 1032\n" +#~ "\n" +#~ " Vérifier l'état d'une demande de signature :\n" +#~ " ipa cert-status 10\n" +#~ "\n" +#~ " Rechercher des certificats par nom d'hôte :\n" +#~ " ipa cert-find --subject=ipaserver.example.com\n" +#~ "\n" +#~ " Rechercher les certificats révoqués par motif :\n" +#~ " ipa cert-find --revocation-reason=5\n" +#~ "\n" +#~ " 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 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 » (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 code 7 ne sert pas. Voir RFC 5280 pour plus de " +#~ "détails :\n" +#~ "\n" +#~ "http://www.ietf.org/rfc/rfc5280.txt\n" +#~ "\n" + +#~ msgid "CA to use" +#~ msgstr "AC à utiliser" + +#~ msgid "Reason" +#~ msgstr "Raison" + +#~ msgid "" +#~ "Reason for revoking the certificate (0-10). Type \"ipa help cert\" for " +#~ "revocation reason details. " +#~ msgstr "" +#~ "Raison de la révocation du certificat (1-10). Utilisez « ipa help cert » " +#~ "pour plus d'informations sur les raisons de révocation." + +#~ msgid "" +#~ "Reason for revoking the certificate (0-10). Type \"ipa help cert\" for " +#~ "revocation reason details." +#~ msgstr "" +#~ "Raison de la révocation du certificat (1-10). Utilisez « ipa help cert » " +#~ "pour plus d'informations sur les raisons de révocation." + +#~ msgid "Maximum number of certs returned" +#~ msgstr "Nombre maximum de certificats renvoyés" diff --git a/install/po/hi.po b/install/po/hi.po index 92ddb8e..1f05224 100644 --- a/install/po/hi.po +++ b/install/po/hi.po @@ -7,19 +7,18 @@ msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\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.7.3\n" +"X-Generator: Zanata 3.8.4\n" #, python-format msgid "Enter %(label)s again to verify: " diff --git a/install/po/hu.po b/install/po/hu.po index d697fb4..e03f008 100644 --- a/install/po/hu.po +++ b/install/po/hu.po @@ -7,19 +7,18 @@ msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\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.7.3\n" +"X-Generator: Zanata 3.8.4\n" msgid "Passwords do not match" msgstr "A jelszavak nem egyeznek meg" @@ -90,20 +89,17 @@ msgstr "Ujjlenyomat (SHA1)" msgid "Serial number" msgstr "Sorozatszám" -msgid "Request id" -msgstr "Igénylés azonosítója" - msgid "Request status" msgstr "Igénylés állapota" -msgid "Revocation reason" -msgstr "Visszavonás oka" +msgid "Request id" +msgstr "Igénylés azonosítója" msgid "Revoked" msgstr "Visszavont" -msgid "Reason" -msgstr "Ok" +msgid "Revocation reason" +msgstr "Visszavonás oka" msgid "Default shell" msgstr "Alapértelmezett shell" @@ -166,3 +162,6 @@ msgstr "A %(value)s szolgáltatás hozzáadva" #, python-format msgid "Deleted service \"%(value)s\"" msgstr "A %(value)s szolgáltatás eltávolítva" + +#~ msgid "Reason" +#~ msgstr "Ok" diff --git a/install/po/id.po b/install/po/id.po index 90df211..dc71c67 100644 --- a/install/po/id.po +++ b/install/po/id.po @@ -8,19 +8,18 @@ msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\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.7.3\n" +"X-Generator: Zanata 3.8.4\n" #, python-format msgid "Enter %(label)s again to verify: " @@ -273,7 +272,3 @@ msgstr "Pengguna \"%(value)s\" telah dihapus" #, python-format msgid "Modified user \"%(value)s\"" msgstr "Pengguna \"%(value)s\" telah dimodifikasi" - -#, 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 8256bb7..55832ba 100644 --- a/install/po/ipa.pot +++ b/install/po/ipa.pot @@ -1,15 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Red Hat -# This file is distributed under the same license as the PACKAGE package. +# This file is distributed under the same license as the ipa package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\n" -"POT-Creation-Date: 2015-12-02 11:14+0100\n" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,3592 +18,4724 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ipalib/cli.py:608 -#, python-format -msgid "Enter %(label)s again to verify: " -msgstr "" - -#: ipalib/cli.py:616 ipa-client/ipa-getkeytab.c:588 -#, c-format -msgid "Passwords do not match!" -msgstr "" - -#: ipalib/cli.py:639 -msgid "No matching entries found" -msgstr "" - -#: ipalib/cli.py:683 -msgid "Topic or Command" -msgstr "" - -#: ipalib/cli.py:684 -msgid "The topic or command name." +#: ipaclient/plugins/automember.py:32 ipaserver/plugins/automember.py:340 +msgid "Failed to add" msgstr "" -#: ipalib/cli.py:855 -msgid "Topic commands:" +#: ipaclient/plugins/automount.py:78 +msgid "maps not connected to /etc/auto.master:" msgstr "" -#: ipalib/cli.py:860 -msgid "To get command help, use:" +#: ipaclient/plugins/automount.py:95 +msgid "Import automount files for a specific location." msgstr "" -#: ipalib/cli.py:861 -msgid " ipa --help" +#: ipaclient/plugins/automount.py:99 +msgid "Master file" msgstr "" -#: ipalib/cli.py:870 -msgid "Command name" +#: ipaclient/plugins/automount.py:100 +msgid "Automount master file." msgstr "" -#: ipalib/cli.py:1038 -msgid "Positional arguments" +#: ipaclient/plugins/automount.py:107 +msgid "" +"Continuous operation mode. Errors are reported but the process continues." msgstr "" -#: ipalib/cli.py:1185 +#: ipaclient/plugins/automount.py:125 #, python-format -msgid "Same as --%s" -msgstr "" - -#: ipalib/cli.py:1188 -msgid "Deprecated options" -msgstr "" - -#: ipalib/cli.py:1310 -msgid "No file to read" -msgstr "" - -#: ipalib/crud.py:247 -msgid "A string searched in all relevant object attributes" +msgid "File %(file)s not found" msgstr "" -#: ipalib/errors.py:281 +#: ipaclient/plugins/automount.py:175 #, python-format -msgid "%(cver)s client incompatible with %(sver)s server at '%(server)s'" +msgid "key %(key)s already exists" msgstr "" -#: ipalib/errors.py:299 +#: ipaclient/plugins/automount.py:190 #, python-format -msgid "unknown error %(code)d from %(server)s: %(error)s" -msgstr "" - -#: ipalib/errors.py:315 -msgid "an internal error has occurred" +msgid "map %(map)s already exists" msgstr "" -#: ipalib/errors.py:337 -#, python-format -msgid "an internal error has occurred on server at '%(server)s'" +#: ipaclient/plugins/automount.py:239 +msgid "Imported maps:" msgstr "" -#: ipalib/errors.py:353 +#: ipaclient/plugins/automount.py:242 #, python-format -msgid "unknown command '%(name)s'" +msgid "Added %(map)s" msgstr "" -#: ipalib/errors.py:370 ipalib/errors.py:395 -#, python-format -msgid "error on server '%(server)s': %(error)s" +#: ipaclient/plugins/automount.py:246 +msgid "Imported keys:" msgstr "" -#: ipalib/errors.py:386 +#: ipaclient/plugins/automount.py:249 #, python-format -msgid "cannot connect to '%(uri)s': %(error)s" +msgid "Added %(src)s to %(dst)s" msgstr "" -#: ipalib/errors.py:404 -#, python-format -msgid "Invalid JSON-RPC request: %(error)s" +#: ipaclient/plugins/automount.py:256 +msgid "Ignored keys:" msgstr "" -#: ipalib/errors.py:420 +#: ipaclient/plugins/automount.py:259 #, python-format -msgid "error marshalling data for XML-RPC transport: %(error)s" +msgid "Ignored %(src)s to %(dst)s" msgstr "" -#: ipalib/errors.py:436 -#, python-format -msgid "Missing or invalid HTTP Referer, %(referer)s" +#: ipaclient/plugins/automount.py:267 +msgid "Duplicate maps skipped:" msgstr "" -#: ipalib/errors.py:463 +#: ipaclient/plugins/automount.py:270 #, python-format -msgid "Kerberos error: %(major)s/%(minor)s" +msgid "Skipped %(map)s" msgstr "" -#: ipalib/errors.py:480 -msgid "did not receive Kerberos credentials" +#: ipaclient/plugins/automount.py:276 +msgid "Duplicate keys skipped:" msgstr "" -#: ipalib/errors.py:496 +#: ipaclient/plugins/automount.py:279 #, python-format -msgid "Service '%(service)s' not found in Kerberos database" -msgstr "" - -#: ipalib/errors.py:512 -msgid "No credentials cache found" +msgid "Skipped %(key)s" msgstr "" -#: ipalib/errors.py:528 -msgid "Ticket expired" +#: ipaclient/plugins/cert.py:62 +msgid "Input filename" msgstr "" -#: ipalib/errors.py:544 -msgid "Credentials cache permissions incorrect" +#: ipaclient/plugins/cert.py:63 +msgid "File to load the certificate from." msgstr "" -#: ipalib/errors.py:560 -msgid "Bad format in credentials cache" +#: ipaclient/plugins/cert.py:72 +msgid "cannot specify both raw certificate and file" msgstr "" -#: ipalib/errors.py:576 -msgid "Cannot resolve KDC for requested realm" +#: ipaclient/plugins/certprofile.py:25 +#, python-format +msgid "Profile configuration stored in file '%(file)s'" msgstr "" -#: ipalib/errors.py:588 -msgid "Session error" +#: ipaclient/plugins/dns.py:167 +msgid "Please choose a type of DNS resource record to be added" msgstr "" -#: ipalib/errors.py:596 +#: ipaclient/plugins/dns.py:168 #, python-format -msgid "Principal %(principal)s cannot be authenticated: %(message)s" +msgid "The most common types for this type of zone are: %s\n" msgstr "" -#: ipalib/errors.py:620 -#, python-format -msgid "Insufficient access: %(info)s" +#: ipaclient/plugins/dns.py:173 +msgid "DNS resource record type" msgstr "" -#: ipalib/errors.py:664 +#: ipaclient/plugins/dns.py:189 #, python-format -msgid "command '%(name)s' takes no arguments" +msgid "Invalid or unsupported type. Allowed values are: %s" msgstr "" -#: ipalib/errors.py:684 -#, 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:714 -#, python-format -msgid "overlapping arguments and options: %(names)s" +#: ipaclient/plugins/dns.py:214 +msgid "No option to modify specific record provided." msgstr "" -#: ipalib/errors.py:730 -#, python-format -msgid "'%(name)s' is required" +#: ipaclient/plugins/dns.py:217 ipaclient/plugins/dns.py:283 +msgid "Current DNS record contents:\n" msgstr "" -#: ipalib/errors.py:746 ipalib/errors.py:762 +#: ipaclient/plugins/dns.py:240 #, python-format -msgid "invalid '%(name)s': %(error)s" +msgid "Modify %(name)s '%(value)s'?" msgstr "" -#: ipalib/errors.py:778 +#: ipaclient/plugins/dns.py:249 #, python-format -msgid "api has no such namespace: '%(name)s'" -msgstr "" +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/errors.py:787 -msgid "Passwords do not match" +#: ipaclient/plugins/dns.py:257 ipaserver/plugins/dns.py:3790 +msgid "" +"Neither --del-all nor options to delete a specific record provided.\n" +"Command help may be consulted for all supported record types." msgstr "" -#: ipalib/errors.py:796 -msgid "Command not implemented" +#: ipaclient/plugins/dns.py:275 +msgid "No option to delete specific record provided." msgstr "" -#: ipalib/errors.py:805 -msgid "Client is not configured. Run ipa-client-install." +#: ipaclient/plugins/dns.py:276 +msgid "Delete all?" msgstr "" -#: ipalib/errors.py:814 +#: ipaclient/plugins/dns.py:304 #, python-format -msgid "Could not get %(name)s interactively" +msgid "Delete %(name)s '%(value)s'?" msgstr "" -#: ipalib/errors.py:829 -#, python-format -msgid "Command '%(name)s' has been deprecated" +#: ipaclient/plugins/dns.py:320 ipaclient/plugins/dns.py:332 +#: ipaclient/plugins/dns.py:344 +msgid "Server will check DNS forwarder(s)." msgstr "" -#: ipalib/errors.py:845 -#, python-format -msgid "Domain '%(domain)s' is not a root domain for forest '%(forest)s'" +#: ipaclient/plugins/dns.py:322 ipaclient/plugins/dns.py:334 +#: ipaclient/plugins/dns.py:346 +msgid "This may take some time, please wait ..." msgstr "" -#: ipalib/errors.py:873 ipalib/errors.py:1113 ipalib/errors.py:1207 -#: ipalib/errors.py:1373 ipalib/errors.py:1670 ipalib/errors.py:1687 +#: ipaclient/plugins/host.py:42 ipaclient/plugins/service.py:44 +#: ipaclient/plugins/user.py:75 #, python-format -msgid "%(reason)s" +msgid "Certificate(s) stored in file '%(file)s'" msgstr "" -#: ipalib/errors.py:889 -msgid "This entry already exists" +#: ipaclient/plugins/location.py:23 +msgid "Servers details:" msgstr "" -#: ipalib/errors.py:905 -msgid "You must enroll a host in order to create a host service" +#: ipaclient/plugins/migration.py:37 +msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." msgstr "" -#: ipalib/errors.py:921 -#, python-format +#: ipaclient/plugins/migration.py:40 msgid "" -"Service principal is not of the form: service/fully-qualified host name: " -"%(reason)s" +"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/errors.py:937 +#: ipaclient/plugins/otptoken.py:67 msgid "" -"The realm for the principal does not match the realm for this IPA server" +"Unable to display QR code using the configured output encoding. Please use " +"the token URI to configure your OTP device" msgstr "" -#: ipalib/errors.py:953 -msgid "This command requires root access" +#: ipaclient/plugins/otptoken.py:83 +msgid "" +"QR code width is greater than that of the output tty. Please resize your " +"terminal." msgstr "" -#: ipalib/errors.py:969 -msgid "This is already a posix group" +#: ipaclient/plugins/otptoken.py:140 +msgid "Synchronize an OTP token." msgstr "" -#: ipalib/errors.py:985 -#, python-format -msgid "Principal is not of the form user@REALM: '%(principal)s'" +#: ipaclient/plugins/otptoken.py:145 +msgid "User ID" msgstr "" -#: ipalib/errors.py:1001 -msgid "This entry is already enabled" +#: ipaclient/plugins/otptoken.py:146 ipaserver/plugins/baseldap.py:49 +#: ipaserver/plugins/baseuser.py:280 ipaserver/plugins/internal.py:190 +#: ipaserver/plugins/internal.py:317 ipaserver/plugins/internal.py:799 +#: ipaserver/plugins/migration.py:505 +msgid "Password" msgstr "" -#: ipalib/errors.py:1017 -msgid "This entry is already disabled" +#: ipaclient/plugins/otptoken.py:147 +msgid "First Code" msgstr "" -#: ipalib/errors.py:1033 -msgid "This entry cannot be enabled or disabled" +#: ipaclient/plugins/otptoken.py:148 +msgid "Second Code" msgstr "" -#: ipalib/errors.py:1049 -msgid "This entry is not a member" +#: ipaclient/plugins/otptoken.py:152 ipaserver/plugins/internal.py:807 +msgid "Token ID" msgstr "" -#: ipalib/errors.py:1065 -msgid "A group may not be a member of itself" +#: ipaclient/plugins/otptoken_yubikey.py:34 +msgid "" +"\n" +"YubiKey Tokens\n" msgstr "" -#: ipalib/errors.py:1081 -msgid "This entry is already a member" +#: ipaclient/plugins/otptoken_yubikey.py:36 +msgid "" +"\n" +"Manage YubiKey tokens.\n" msgstr "" -#: ipalib/errors.py:1097 -#, python-format -msgid "Base64 decoding failed: %(reason)s" +#: ipaclient/plugins/otptoken_yubikey.py:38 +msgid "" +"\n" +"This code is an extension to the otptoken plugin and provides support for\n" +"reading/writing YubiKey tokens directly.\n" msgstr "" -#: ipalib/errors.py:1129 -msgid "A group may not be added as a member of itself" +#: ipaclient/plugins/otptoken_yubikey.py:41 ipaserver/plugins/automember.py:63 +#: ipaserver/plugins/dnsserver.py:38 ipaserver/plugins/host.py:93 +#: ipaserver/plugins/location.py:37 ipaserver/plugins/otptoken.py:49 +#: ipaserver/plugins/permission.py:96 ipaserver/plugins/radiusproxy.py:42 +#: ipaserver/plugins/schema.py:25 ipaserver/plugins/server.py:34 +#: ipaserver/plugins/serverrole.py:17 ipaserver/plugins/sudorule.py:70 +#: ipaserver/plugins/vault.py:73 +msgid "" +"\n" +"EXAMPLES:\n" msgstr "" -#: ipalib/errors.py:1145 -msgid "The default users group cannot be removed" +#: ipaclient/plugins/otptoken_yubikey.py:43 +msgid "" +"\n" +" Add a new token:\n" +" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" msgstr "" -#: ipalib/errors.py:1161 -msgid "Host does not have corresponding DNS A/AAAA record" +#: ipaclient/plugins/otptoken_yubikey.py:55 +msgid "Add a new YubiKey OTP token." msgstr "" -#: ipalib/errors.py:1176 -msgid "Deleting a managed group is not allowed. It must be detached first." +#: ipaclient/plugins/otptoken_yubikey.py:60 +msgid "YubiKey slot" msgstr "" -#: ipalib/errors.py:1191 -msgid "A managed group cannot have a password policy." +#: ipaclient/plugins/otptoken_yubikey.py:110 +msgid "No free YubiKey slot!" msgstr "" -#: ipalib/errors.py:1223 +#: ipaclient/plugins/server.py:16 #, python-format -msgid "'%(entry)s' doesn't have a certificate." +msgid "Removing %(servers)s from replication topology, please wait..." msgstr "" -#: ipalib/errors.py:1239 +#: ipaclient/plugins/sudorule.py:30 #, python-format -msgid "Unable to create private group. A group '%(group)s' already exists." +msgid "Enabled Sudo Rule \"%s\"" msgstr "" -#: ipalib/errors.py:1255 +#: ipaclient/plugins/sudorule.py:36 #, python-format -msgid "" -"A problem was encountered when verifying that all members were %(verb)s: " -"%(exc)s" +msgid "Disabled Sudo Rule \"%s\"" msgstr "" -#: ipalib/errors.py:1273 +#: ipaclient/plugins/sudorule.py:43 #, python-format -msgid "%(attr)s does not contain '%(value)s'" +msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" msgstr "" -#: ipalib/errors.py:1290 +#: ipaclient/plugins/sudorule.py:54 #, python-format -msgid "" -"The search criteria was not specific enough. Expected 1 and found %(found)d." +msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\"" msgstr "" -#: ipalib/errors.py:1307 -msgid "This group already allows external members" +#: ipaclient/plugins/topology.py:26 +#, python-format +msgid "Replication topology of suffix \"%(suffix)s\" is in order." msgstr "" -#: ipalib/errors.py:1324 -msgid "This group cannot be posix because it is external" +#: ipaclient/plugins/topology.py:29 +#, python-format +msgid "Replication topology of suffix \"%(suffix)s\" contains errors." msgstr "" -#: ipalib/errors.py:1341 -msgid "This is already a posix group and cannot be converted to external one" +#: ipaclient/plugins/topology.py:34 +msgid "Topology is disconnected" msgstr "" -#: ipalib/errors.py:1396 +#: ipaclient/plugins/topology.py:36 #, python-format -msgid "no command nor help topic '%(topic)s'" +msgid "Server %(srv)s can't contact servers: %(replicas)s" msgstr "" -#: ipalib/errors.py:1420 -msgid "change collided with another change" +#: ipaclient/plugins/topology.py:41 +msgid "Recommended maximum number of agreements per replica exceeded" msgstr "" -#: ipalib/errors.py:1436 -msgid "no modifications to be performed" +#: ipaclient/plugins/topology.py:44 +msgid "Maximum number of agreements per replica" msgstr "" -#: ipalib/errors.py:1452 +#: ipaclient/plugins/topology.py:48 #, python-format -msgid "%(desc)s: %(info)s" +msgid "Server \"%(srv)s\" has %(n)d agreements with servers:" msgstr "" -#: ipalib/errors.py:1468 -msgid "limits exceeded for this query" +#: ipaclient/plugins/user.py:40 +msgid "Delete a user, keeping the entry available for future use" msgstr "" -#: ipalib/errors.py:1483 -#, python-format -msgid "%(info)s" +#: ipaclient/plugins/user.py:45 +msgid "Delete a user" msgstr "" -#: ipalib/errors.py:1498 -msgid "modifying primary key is not allowed" +#: ipaclient/plugins/user.py:54 +msgid "preserve and no-preserve cannot be both set" msgstr "" -#: ipalib/errors.py:1514 +#: ipaclient/plugins/vault.py:60 ipaclient/plugins/vault.py:602 #, python-format -msgid "%(attr)s: Only one value allowed." +msgid "Cannot read file '%(filename)s': %(exc)s" msgstr "" -#: ipalib/errors.py:1530 +#: ipaclient/plugins/vault.py:67 #, python-format -msgid "%(attr)s: Invalid syntax." +msgid "Cannot decode file '%(filename)s': %(exc)s" msgstr "" -#: ipalib/errors.py:1546 -#, python-format -msgid "Bad search filter %(info)s" +#: ipaclient/plugins/vault.py:150 ipaclient/plugins/vault.py:169 +#: ipaserver/plugins/passwd.py:126 +msgid "Invalid credentials" msgstr "" -#: ipalib/errors.py:1562 -msgid "Not allowed on non-leaf entry" +#: ipaclient/plugins/vault.py:174 +msgid "Create a new vault." msgstr "" -#: ipalib/errors.py:1578 -msgid "LDAP timeout" +#: ipaclient/plugins/vault.py:180 ipaclient/plugins/vault.py:531 +#: ipaclient/plugins/vault.py:756 +msgid "Vault password" msgstr "" -#: ipalib/errors.py:1596 -#, python-format -msgid "DNS check failed: Expected {%(expected)s} got {%(got)s}" +#: ipaclient/plugins/vault.py:185 ipaclient/plugins/vault.py:536 +#: ipaclient/plugins/vault.py:761 +msgid "File containing the vault password" msgstr "" -#: ipalib/errors.py:1612 -#, python-format -msgid "%(task)s LDAP task timeout, Task DN: '%(task_dn)s'" +#: ipaclient/plugins/vault.py:190 +msgid "File containing the vault public key" msgstr "" -#: ipalib/errors.py:1637 -#, python-format -msgid "Certificate operation cannot be completed: %(error)s" +#: ipaclient/plugins/vault.py:228 +msgid "Password can be specified only for symmetric vault" msgstr "" -#: ipalib/errors.py:1653 -#, python-format -msgid "Certificate format error: %(error)s" +#: ipaclient/plugins/vault.py:234 +msgid "Public key can be specified only for asymmetric vault" msgstr "" -#: ipalib/errors.py:1704 -msgid "Already registered" +#: ipaclient/plugins/vault.py:254 ipaclient/plugins/vault.py:635 +#: ipaclient/plugins/vault.py:898 +msgid "Password specified multiple times" msgstr "" -#: ipalib/errors.py:1720 -msgid "Not registered yet" +#: ipaclient/plugins/vault.py:276 +msgid "Public key specified multiple times" msgstr "" -#: ipalib/errors.py:1736 -#, python-format -msgid "%(key)s cannot be deleted because %(label)s %(dependent)s requires it" +#: ipaclient/plugins/vault.py:292 +msgid "Missing vault public key" msgstr "" -#: ipalib/errors.py:1752 +#: ipaclient/plugins/vault.py:304 #, python-format -msgid "" -"%(key)s cannot be deleted or disabled because it is the last member of " -"%(label)s %(container)s" +msgid "Invalid or unsupported vault public key: %s" msgstr "" -#: ipalib/errors.py:1768 -#, python-format -msgid "%(label)s %(key)s cannot be deleted/modified: %(reason)s" +#: ipaclient/plugins/vault.py:332 +msgid "Modify a vault." msgstr "" -#: ipalib/errors.py:1785 -#, python-format -msgid "%(name)s certificate is not valid" +#: ipaclient/plugins/vault.py:337 +msgid "Change password" msgstr "" -#: ipalib/frontend.py:418 -msgid "Results are truncated, try a more specific search" +#: ipaclient/plugins/vault.py:342 +msgid "Old vault password" msgstr "" -#: ipalib/frontend.py:545 -#, python-format -msgid "Unknown option: %(option)s" +#: ipaclient/plugins/vault.py:347 +msgid "File containing the old vault password" msgstr "" -#: ipalib/frontend.py:908 -msgid "" -"Retrieve and print all attributes from the server. Affects command output." +#: ipaclient/plugins/vault.py:352 +msgid "New vault password" msgstr "" -#: ipalib/frontend.py:914 -msgid "Print entries as stored on the server. Only affects output format." +#: ipaclient/plugins/vault.py:357 +msgid "File containing the new vault password" msgstr "" -#: ipalib/frontend.py:920 ipalib/plugins/batch.py:78 -msgid "Client version. Used to determine if server will accept request." +#: ipaclient/plugins/vault.py:362 +msgid "Old vault private key" msgstr "" -#: ipalib/frontend.py:1082 -msgid "Forward to server instead of running locally" +#: ipaclient/plugins/vault.py:367 +msgid "File containing the old vault private key" msgstr "" -#: ipalib/messages.py:78 -msgid "Additional instructions:" +#: ipaclient/plugins/vault.py:372 +msgid "File containing the new vault public key" msgstr "" -#: ipalib/messages.py:144 -#, python-format -msgid "" -"API Version number was not sent, forward compatibility not guaranteed. " -"Assuming server's API version, %(server_version)s" +#: ipaclient/plugins/vault.py:461 +msgid "New public key specified multiple times" msgstr "" -#: ipalib/messages.py:156 -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." +#: ipaclient/plugins/vault.py:474 +msgid "Missing new vault public key" msgstr "" -#: ipalib/messages.py:168 -#, python-format -msgid "" -"DNSSEC support is experimental.\n" -"%(additional_info)s" +#: ipaclient/plugins/vault.py:517 +msgid "Archive data into a vault." msgstr "" -#: ipalib/messages.py:178 -#, python-format -msgid "'%(option)s' option is deprecated. %(additional_info)s" +#: ipaclient/plugins/vault.py:522 +msgid "Binary data to archive" msgstr "" -#: ipalib/messages.py:188 -#, python-format -msgid "" -"Semantic of %(label)s was changed. %(current_behavior)s\n" -"%(hint)s" +#: ipaclient/plugins/vault.py:526 +msgid "File containing data to archive" msgstr "" -#: ipalib/messages.py:199 -#, python-format -msgid "DNS server %(server)s: %(error)s." +#: ipaclient/plugins/vault.py:540 +msgid "Override existing password" msgstr "" -#: ipalib/messages.py:209 -#, 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." +#: ipaclient/plugins/vault.py:588 +msgid "Input data specified multiple times" msgstr "" -#: ipalib/messages.py:222 +#: ipaclient/plugins/vault.py:593 ipaclient/plugins/vault.py:606 #, 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\"." +"Size of data exceeds the limit. Current vault data size limit is %(limit)d B" msgstr "" -#: ipalib/messages.py:236 -#, 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." +#: ipaclient/plugins/vault.py:687 ipaclient/plugins/vault.py:947 +msgid "Invalid vault type" msgstr "" -#: ipalib/messages.py:249 -#, python-format -msgid "" -"DNSSEC validation failed: %(error)s.\n" -"Please verify your DNSSEC configuration or disable DNSSEC validation on all " -"IPA servers." +#: ipaclient/plugins/vault.py:746 +msgid "Retrieve a data from a vault." msgstr "" -#: ipalib/messages.py:263 -#, python-format -msgid "" -"The _kerberos TXT record from domain %(domain)s could not be created " -"(%(error)s).\n" -"This can happen if the zone is not managed by IPA. Please create the record " -"manually, containing the following value: '%(realm)s'" +#: ipaclient/plugins/vault.py:751 +msgid "File to store retrieved data" msgstr "" -#: ipalib/messages.py:279 -#, python-format -msgid "" -"The _kerberos TXT record from domain %(domain)s could not be removed " -"(%(error)s).\n" -"This can happen if the zone is not managed by IPA. Please remove the record " -"manually." +#: ipaclient/plugins/vault.py:766 +msgid "Vault private key" msgstr "" -#: ipalib/messages.py:293 -msgid "" -"No DNSSEC key master is installed. DNSSEC zone signing will not work until " -"the DNSSEC key master is installed." +#: ipaclient/plugins/vault.py:771 +msgid "File containing the vault private key" msgstr "" -#: ipalib/messages.py:308 -#, python-format -msgid "" -"Relative record name '%(record)s' contains the zone name '%(zone)s' as a " -"suffix, which results in FQDN '%(fqdn)s'. This is usually a mistake caused " -"by a missing dot at the end of the name specification." +#: ipaclient/plugins/vault.py:778 ipaserver/plugins/internal.py:453 +msgid "Data" msgstr "" -#: ipalib/messages.py:321 -#, python-format -msgid "'%(command)s' is deprecated. %(additional_info)s" +#: ipaclient/plugins/vault.py:923 +msgid "Private key specified multiple times" msgstr "" -#: ipalib/output.py:97 -msgid "A dictionary representing an LDAP entry" +#: ipaclient/plugins/vault.py:936 +msgid "Missing vault private key" msgstr "" -#: ipalib/output.py:105 -msgid "A list of LDAP entries" +#: ipaclient/remote_plugins/schema.py:105 +#: ipaclient/remote_plugins/schema.py:162 ipaserver/plugins/baseldap.py:52 +#: ipaserver/plugins/servicedelegation.py:114 +msgid "Failed members" msgstr "" -#: ipalib/output.py:157 -msgid "All commands should at least have a result" +#: ipaclient/remote_plugins/schema.py:109 ipaserver/plugins/baseldap.py:169 +msgid "Failed source hosts/hostgroups" msgstr "" -#: ipalib/output.py:160 -msgid "User-friendly description of action performed" +#: ipaclient/remote_plugins/schema.py:113 ipaserver/plugins/baseldap.py:172 +msgid "Failed hosts/hostgroups" msgstr "" -#: ipalib/output.py:164 -msgid "The primary_key value of the entry, e.g. 'jdoe' for a user" +#: ipaclient/remote_plugins/schema.py:117 ipaserver/plugins/baseldap.py:175 +msgid "Failed users/groups" msgstr "" -#: ipalib/output.py:179 -msgid "Number of entries returned" +#: ipaclient/remote_plugins/schema.py:121 ipaserver/plugins/baseldap.py:178 +msgid "Failed service/service groups" msgstr "" -#: ipalib/output.py:180 -msgid "True if not all results were returned" +#: ipaclient/remote_plugins/schema.py:125 ipaserver/plugins/baseldap.py:181 +msgid "Failed to remove" msgstr "" -#: ipalib/output.py:185 ipalib/output.py:191 -msgid "List of deletions that failed" +#: ipaclient/remote_plugins/schema.py:130 ipaserver/plugins/baseldap.py:185 +msgid "Failed RunAs" msgstr "" -#: ipalib/output.py:197 ipalib/plugins/dns.py:318 -msgid "True means the operation was successful" +#: ipaclient/remote_plugins/schema.py:134 ipaserver/plugins/baseldap.py:188 +msgid "Failed RunAsGroup" msgstr "" -#: ipalib/parameters.py:390 -msgid "incorrect type" +#: ipaclient/remote_plugins/schema.py:139 ipaserver/plugins/caacl.py:525 +msgid "Failed profiles" msgstr "" -#: ipalib/parameters.py:393 -msgid "Only one value is allowed" +#: ipaclient/remote_plugins/schema.py:143 ipaserver/plugins/caacl.py:528 +msgid "Failed CAs" msgstr "" -#: ipalib/parameters.py:955 -msgid "must be True or False" +#: ipaclient/remote_plugins/schema.py:148 ipaserver/plugins/host.py:228 +msgid "Failed managedby" msgstr "" -#: ipalib/parameters.py:1057 -msgid "must be an integer" +#: ipaclient/remote_plugins/schema.py:153 ipaserver/plugins/host.py:258 +#: ipaserver/plugins/service.py:177 +msgid "Failed allowed to retrieve keytab" msgstr "" -#: ipalib/parameters.py:1108 -#, python-format -msgid "must be at least %(minvalue)d" +#: ipaclient/remote_plugins/schema.py:157 ipaserver/plugins/host.py:261 +#: ipaserver/plugins/service.py:180 +msgid "Failed allowed to create keytab" msgstr "" -#: ipalib/parameters.py:1118 -#, python-format -msgid "can be at most %(maxvalue)d" +#: ipaclient/remote_plugins/schema.py:166 +#: ipaserver/plugins/servicedelegation.py:118 +msgid "Failed targets" msgstr "" -#: ipalib/parameters.py:1134 -msgid "must be a decimal number" +#: ipaclient/remote_plugins/schema.py:171 ipaserver/plugins/vault.py:309 +#: ipaserver/plugins/vault.py:621 +msgid "Failed owners" msgstr "" -#: ipalib/parameters.py:1180 +#: ipalib/cli.py:609 #, python-format -msgid "must be at least %(minvalue)s" +msgid "Enter %(label)s again to verify: " msgstr "" -#: ipalib/parameters.py:1190 -#, python-format -msgid "can be at most %(maxvalue)s" +#: ipalib/cli.py:617 client/ipa-getkeytab.c:592 +#, c-format +msgid "Passwords do not match!" msgstr "" -#: ipalib/parameters.py:1198 -#, python-format -msgid "" -"number class '%(cls)s' is not included in a list of allowed number classes: " -"%(allowed)s" +#: ipalib/cli.py:640 +msgid "No matching entries found" msgstr "" -#: ipalib/parameters.py:1321 -#, python-format -msgid "must match pattern \"%(pattern)s\"" +#: ipalib/cli.py:684 +msgid "Topic or Command" msgstr "" -#: ipalib/parameters.py:1339 -msgid "must be binary data" +#: ipalib/cli.py:685 +msgid "The topic or command name." msgstr "" -#: ipalib/parameters.py:1358 -#, python-format -msgid "must be at least %(minlength)d bytes" +#: ipalib/cli.py:848 +msgid "Topic commands:" msgstr "" -#: ipalib/parameters.py:1368 -#, python-format -msgid "can be at most %(maxlength)d bytes" +#: ipalib/cli.py:853 +msgid "To get command help, use:" msgstr "" -#: ipalib/parameters.py:1378 -#, python-format -msgid "must be exactly %(length)d bytes" +#: ipalib/cli.py:854 +msgid " ipa --help" msgstr "" -#: ipalib/parameters.py:1409 -msgid "must be Unicode text" +#: ipalib/cli.py:863 +msgid "Command name" msgstr "" -#: ipalib/parameters.py:1442 -msgid "Leading and trailing spaces are not allowed" +#: ipalib/cli.py:1037 +msgid "Positional arguments" msgstr "" -#: ipalib/parameters.py:1450 +#: ipalib/cli.py:1182 #, python-format -msgid "must be at least %(minlength)d characters" +msgid "Same as --%s" msgstr "" -#: ipalib/parameters.py:1460 -#, python-format -msgid "can be at most %(maxlength)d characters" +#: ipalib/cli.py:1185 +msgid "Deprecated options" +msgstr "" + +#: ipalib/cli.py:1309 +msgid "No file to read" +msgstr "" + +#: ipalib/crud.py:247 +msgid "A string searched in all relevant object attributes" msgstr "" -#: ipalib/parameters.py:1470 +#: ipalib/errors.py:291 #, python-format -msgid "must be exactly %(length)d characters" +msgid "%(cver)s client incompatible with %(sver)s server at '%(server)s'" msgstr "" -#: ipalib/parameters.py:1491 +#: ipalib/errors.py:309 #, python-format -msgid "The character %(char)r is not allowed." +msgid "unknown error %(code)d from %(server)s: %(error)s" +msgstr "" + +#: ipalib/errors.py:325 +msgid "an internal error has occurred" msgstr "" -#: ipalib/parameters.py:1542 +#: ipalib/errors.py:347 #, python-format -msgid "must be '%(value)s'" +msgid "an internal error has occurred on server at '%(server)s'" msgstr "" -#: ipalib/parameters.py:1545 +#: ipalib/errors.py:363 #, python-format -msgid "must be one of %(values)s" +msgid "unknown command '%(name)s'" msgstr "" -#: ipalib/parameters.py:1655 -msgid "must be datetime value" +#: ipalib/errors.py:380 ipalib/errors.py:405 +#, python-format +msgid "error on server '%(server)s': %(error)s" msgstr "" -#: ipalib/parameters.py:1669 -msgid "does not match any of accepted formats: " +#: ipalib/errors.py:396 +#, python-format +msgid "cannot connect to '%(uri)s': %(error)s" msgstr "" -#: ipalib/parameters.py:1854 -msgid "incomplete time value" +#: ipalib/errors.py:414 +#, python-format +msgid "Invalid JSON-RPC request: %(error)s" msgstr "" -#: ipalib/parameters.py:1891 -msgid "this option is deprecated" +#: ipalib/errors.py:430 +#, python-format +msgid "error marshalling data for XML-RPC transport: %(error)s" msgstr "" -#: ipalib/parameters.py:1944 -msgid "must be DNS name" +#: ipalib/errors.py:446 +#, python-format +msgid "Missing or invalid HTTP Referer, %(referer)s" msgstr "" -#: ipalib/parameters.py:1974 -msgid "must be absolute" +#: ipalib/errors.py:473 +#, python-format +msgid "Kerberos error: %(major)s/%(minor)s" msgstr "" -#: ipalib/parameters.py:1978 -msgid "must be relative" +#: ipalib/errors.py:490 +msgid "did not receive Kerberos credentials" msgstr "" -#: ipalib/plugins/aci.py:162 -msgid "A list of ACI values" +#: ipalib/errors.py:506 +#, python-format +msgid "Service '%(service)s' not found in Kerberos database" msgstr "" -#: ipalib/plugins/aci.py:226 -msgid "type, filter, subtree and targetgroup are mutually exclusive" +#: ipalib/errors.py:522 +msgid "No credentials cache found" msgstr "" -#: ipalib/plugins/aci.py:229 -msgid "ACI prefix is required" +#: ipalib/errors.py:538 +msgid "Ticket expired" msgstr "" -#: ipalib/plugins/aci.py:232 -msgid "" -"at least one of: type, filter, subtree, targetgroup, attrs or memberof are " -"required" +#: ipalib/errors.py:554 +msgid "Credentials cache permissions incorrect" msgstr "" -#: ipalib/plugins/aci.py:235 -msgid "filter and memberof are mutually exclusive" +#: ipalib/errors.py:570 +msgid "Bad format in credentials cache" msgstr "" -#: ipalib/plugins/aci.py:241 -msgid "group, permission and self are mutually exclusive" +#: ipalib/errors.py:586 +msgid "Cannot resolve KDC for requested realm" msgstr "" -#: ipalib/plugins/aci.py:243 -msgid "One of group, permission or self is required" +#: ipalib/errors.py:598 +msgid "Session error" msgstr "" -#: ipalib/plugins/aci.py:266 +#: ipalib/errors.py:606 #, python-format -msgid "Group '%s' does not exist" +msgid "Principal %(principal)s cannot be authenticated: %(message)s" msgstr "" -#: ipalib/plugins/aci.py:292 -msgid "empty filter" +#: ipalib/errors.py:642 +#, python-format +msgid "Insufficient access: %(info)s" msgstr "" -#: ipalib/plugins/aci.py:313 +#: ipalib/errors.py:686 #, python-format -msgid "Syntax Error: %(error)s" +msgid "command '%(name)s' takes no arguments" msgstr "" -#: ipalib/plugins/aci.py:357 +#: ipalib/errors.py:706 #, python-format -msgid "invalid DN (%s)" -msgstr "" +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/plugins/aci.py:404 +#: ipalib/errors.py:736 #, python-format -msgid "ACI with name \"%s\" not found" +msgid "overlapping arguments and options: %(names)s" msgstr "" -#: ipalib/plugins/aci.py:422 -msgid "ACI prefix" +#: ipalib/errors.py:752 +#, python-format +msgid "'%(name)s' is required" msgstr "" -#: ipalib/plugins/aci.py:423 -msgid "" -"Prefix used to distinguish ACI types (permission, delegation, selfservice, " -"none)" +#: ipalib/errors.py:768 ipalib/errors.py:784 +#, python-format +msgid "invalid '%(name)s': %(error)s" msgstr "" -#: ipalib/plugins/aci.py:436 -msgid "ACIs" +#: ipalib/errors.py:800 +#, python-format +msgid "api has no such namespace: '%(name)s'" msgstr "" -#: ipalib/plugins/aci.py:441 -msgid "ACI name" +#: ipalib/errors.py:809 +msgid "Passwords do not match" msgstr "" -#: ipalib/plugins/aci.py:447 ipalib/plugins/permission.py:225 -msgid "Permission" +#: ipalib/errors.py:818 +msgid "Command not implemented" msgstr "" -#: ipalib/plugins/aci.py:448 -msgid "Permission ACI grants access to" +#: ipalib/errors.py:827 +msgid "Client is not configured. Run ipa-client-install." msgstr "" -#: ipalib/plugins/aci.py:453 ipalib/plugins/delegation.py:105 -msgid "User group" +#: ipalib/errors.py:836 +#, python-format +msgid "Could not get %(name)s interactively" msgstr "" -#: ipalib/plugins/aci.py:454 ipalib/plugins/delegation.py:106 -msgid "User group ACI grants access to" +#: ipalib/errors.py:851 +#, python-format +msgid "Command '%(name)s' has been deprecated" msgstr "" -#: ipalib/plugins/aci.py:459 ipalib/plugins/baseldap.py:72 -#: ipalib/plugins/delegation.py:87 ipalib/plugins/permission.py:224 -#: ipalib/plugins/selfservice.py:91 -msgid "Permissions" +#: ipalib/errors.py:867 +#, python-format +msgid "Domain '%(domain)s' is not a root domain for forest '%(forest)s'" msgstr "" -#: ipalib/plugins/aci.py:460 -msgid "Permissions to grant(read, write, add, delete, all)" +#: ipalib/errors.py:895 ipalib/errors.py:1135 ipalib/errors.py:1214 +#: ipalib/errors.py:1380 ipalib/errors.py:1705 ipalib/errors.py:1722 +#, python-format +msgid "%(reason)s" msgstr "" -#: ipalib/plugins/aci.py:468 -msgid "Attributes to which the permission applies" +#: ipalib/errors.py:911 +msgid "This entry already exists" msgstr "" -#: ipalib/plugins/aci.py:469 ipalib/plugins/delegation.py:93 -#: ipalib/plugins/selfservice.py:97 -msgid "Attributes" +#: ipalib/errors.py:927 +msgid "You must enroll a host in order to create a host service" msgstr "" -#: ipalib/plugins/aci.py:475 ipalib/plugins/otptoken.py:164 -#: ipalib/plugins/permission.py:339 ipalib/plugins/vault.py:634 -#: ipalib/plugins/vault.py:907 -msgid "Type" +#: ipalib/errors.py:943 +#, python-format +msgid "" +"Service principal is not of the form: service/fully-qualified host name: " +"%(reason)s" msgstr "" -#: ipalib/plugins/aci.py:476 -msgid "type of IPA object (user, group, host, hostgroup, service, netgroup)" +#: ipalib/errors.py:959 +msgid "" +"The realm for the principal does not match the realm for this IPA server" msgstr "" -#: ipalib/plugins/aci.py:482 -msgid "Member of" +#: ipalib/errors.py:975 +msgid "This command requires root access" msgstr "" -#: ipalib/plugins/aci.py:483 -msgid "Member of a group" +#: ipalib/errors.py:991 +msgid "This is already a posix group" msgstr "" -#: ipalib/plugins/aci.py:488 ipalib/plugins/internal.py:217 -#: ipalib/plugins/internal.py:610 -msgid "Filter" +#: ipalib/errors.py:1007 +#, python-format +msgid "Principal is not of the form user@REALM: '%(principal)s'" msgstr "" -#: ipalib/plugins/aci.py:489 -msgid "Legal LDAP filter (e.g. ou=Engineering)" +#: ipalib/errors.py:1023 +msgid "This entry is already enabled" msgstr "" -#: ipalib/plugins/aci.py:494 ipalib/plugins/permission.py:284 -msgid "Subtree" +#: ipalib/errors.py:1039 +msgid "This entry is already disabled" msgstr "" -#: ipalib/plugins/aci.py:495 -msgid "Subtree to apply ACI to" +#: ipalib/errors.py:1055 +msgid "This entry cannot be enabled or disabled" msgstr "" -#: ipalib/plugins/aci.py:500 ipalib/plugins/permission.py:333 -msgid "Target group" +#: ipalib/errors.py:1071 +msgid "This entry is not a member" msgstr "" -#: ipalib/plugins/aci.py:501 -msgid "Group to apply ACI to" +#: ipalib/errors.py:1087 +msgid "A group may not be a member of itself" msgstr "" -#: ipalib/plugins/aci.py:506 -msgid "Target your own entry (self)" +#: ipalib/errors.py:1103 +msgid "This entry is already a member" msgstr "" -#: ipalib/plugins/aci.py:507 -msgid "Apply ACI to your own entry (self)" +#: ipalib/errors.py:1119 +#, python-format +msgid "Base64 decoding failed: %(reason)s" msgstr "" -#: ipalib/plugins/aci.py:519 -#, python-format -msgid "Created ACI \"%(value)s\"" +#: ipalib/errors.py:1151 +msgid "A group may not be added as a member of itself" msgstr "" -#: ipalib/plugins/aci.py:524 -msgid "Test the ACI syntax but don't write anything" +#: ipalib/errors.py:1167 +msgid "The default users group cannot be removed" msgstr "" -#: ipalib/plugins/aci.py:574 -#, python-format -msgid "Deleted ACI \"%(value)s\"" +#: ipalib/errors.py:1183 +msgid "Deleting a managed group is not allowed. It must be detached first." msgstr "" -#: ipalib/plugins/aci.py:616 ipalib/plugins/aci.py:891 -#: ipalib/plugins/aci.py:937 ipalib/plugins/delegation.py:62 -#: ipalib/plugins/permission.py:118 ipalib/plugins/selfservice.py:63 -msgid "ACI" +#: ipalib/errors.py:1198 +msgid "A managed group cannot have a password policy." msgstr "" -#: ipalib/plugins/aci.py:624 +#: ipalib/errors.py:1230 #, python-format -msgid "Modified ACI \"%(value)s\"" +msgid "'%(entry)s' doesn't have a certificate." msgstr "" -#: ipalib/plugins/aci.py:698 +#: ipalib/errors.py:1246 #, python-format -msgid "%(count)d ACI matched" -msgid_plural "%(count)d ACIs matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/aci.py:898 -msgid "Location of the ACI" +msgid "Unable to create private group. A group '%(group)s' already exists." msgstr "" -#: ipalib/plugins/aci.py:944 -msgid "New ACI name" +#: ipalib/errors.py:1262 +#, python-format +msgid "" +"A problem was encountered when verifying that all members were %(verb)s: " +"%(exc)s" msgstr "" -#: ipalib/plugins/aci.py:948 +#: ipalib/errors.py:1280 #, python-format -msgid "Renamed ACI to \"%(value)s\"" +msgid "%(attr)s does not contain '%(value)s'" msgstr "" -#: ipalib/plugins/automember.py:34 +#: ipalib/errors.py:1297 +#, python-format msgid "" -"\n" -"Auto Membership Rule.\n" +"The search criteria was not specific enough. Expected 1 and found %(found)d." msgstr "" -#: ipalib/plugins/automember.py:36 -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" +#: ipalib/errors.py:1314 +msgid "This group already allows external members" msgstr "" -#: ipalib/plugins/automember.py:40 -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" +#: ipalib/errors.py:1331 +msgid "This group cannot be posix because it is external" msgstr "" -#: ipalib/plugins/automember.py:43 -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" +#: ipalib/errors.py:1348 +msgid "This is already a posix group and cannot be converted to external one" msgstr "" -#: ipalib/plugins/automember.py:47 -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" +#: ipalib/errors.py:1397 +#, python-format +msgid "Server removal aborted: %(reason)s." msgstr "" -#: ipalib/plugins/automember.py:51 -msgid "" -"\n" -"The automember-rebuild command can be used to retroactively run automember " -"rules\n" -"against existing entries, thus rebuilding their membership.\n" +#: ipalib/errors.py:1421 +#, python-format +msgid "no command nor help topic '%(topic)s'" msgstr "" -#: ipalib/plugins/automember.py:54 ipalib/plugins/host.py:87 -#: ipalib/plugins/otptoken.py:50 ipalib/plugins/otptoken_yubikey.py:42 -#: ipalib/plugins/permission.py:96 ipalib/plugins/radiusproxy.py:35 -#: ipalib/plugins/server.py:19 ipalib/plugins/sudorule.py:70 -#: ipalib/plugins/vault.py:95 -msgid "" -"\n" -"EXAMPLES:\n" +#: ipalib/errors.py:1445 +msgid "change collided with another change" msgstr "" -#: ipalib/plugins/automember.py:56 -msgid "" -"\n" -" Add the initial group or hostgroup:\n" -" ipa hostgroup-add --desc=\"Web Servers\" webservers\n" -" ipa group-add --desc=\"Developers\" devel\n" +#: ipalib/errors.py:1461 +msgid "no modifications to be performed" msgstr "" -#: ipalib/plugins/automember.py:60 -msgid "" -"\n" -" Add the initial rule:\n" -" ipa automember-add --type=hostgroup webservers\n" -" ipa automember-add --type=group devel\n" +#: ipalib/errors.py:1477 +#, python-format +msgid "%(desc)s: %(info)s" msgstr "" -#: ipalib/plugins/automember.py:64 -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" +#: ipalib/errors.py:1493 +msgid "limits exceeded for this query" msgstr "" -#: ipalib/plugins/automember.py:68 -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" +#: ipalib/errors.py:1508 +#, python-format +msgid "%(info)s" msgstr "" -#: ipalib/plugins/automember.py:71 -msgid "" -"\n" -" Add a host:\n" -" ipa host-add web1.example.com\n" +#: ipalib/errors.py:1523 +msgid "modifying primary key is not allowed" msgstr "" -#: ipalib/plugins/automember.py:74 -msgid "" -"\n" -" Add a user:\n" -" ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott\n" +#: ipalib/errors.py:1539 +#, python-format +msgid "%(attr)s: Only one value allowed." msgstr "" -#: ipalib/plugins/automember.py:77 -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" +#: ipalib/errors.py:1555 +#, python-format +msgid "%(attr)s: Invalid syntax." msgstr "" -#: ipalib/plugins/automember.py:89 -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" +#: ipalib/errors.py:1571 +#, python-format +msgid "Bad search filter %(info)s" msgstr "" -#: ipalib/plugins/automember.py:92 -msgid "" -"\n" -" Modify the automember rule:\n" -" ipa automember-mod\n" +#: ipalib/errors.py:1587 +msgid "Not allowed on non-leaf entry" msgstr "" -#: ipalib/plugins/automember.py:95 -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" +#: ipalib/errors.py:1603 +msgid "LDAP timeout" msgstr "" -#: ipalib/plugins/automember.py:99 -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" +#: ipalib/errors.py:1619 +#, python-format +msgid "%(task)s LDAP task timeout, Task DN: '%(task_dn)s'" msgstr "" -#: ipalib/plugins/automember.py:103 -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" +#: ipalib/errors.py:1628 +msgid "Configured time limit exceeded" msgstr "" -#: ipalib/plugins/automember.py:107 -msgid "" -"\n" -" Find all of the automember rules:\n" -" ipa automember-find\n" +#: ipalib/errors.py:1637 +msgid "Configured size limit exceeded" msgstr "" -#: ipalib/plugins/automember.py:110 -msgid "" -"\n" -" Display a automember rule:\n" -" ipa automember-show --type=hostgroup webservers\n" -" ipa automember-show --type=group devel\n" +#: ipalib/errors.py:1647 +msgid "Configured administrative server limit exceeded" msgstr "" -#: ipalib/plugins/automember.py:114 -msgid "" -"\n" -" Delete an automember rule:\n" -" ipa automember-del --type=hostgroup webservers\n" -" ipa automember-del --type=group devel\n" +#: ipalib/errors.py:1672 +#, python-format +msgid "Certificate operation cannot be completed: %(error)s" msgstr "" -#: ipalib/plugins/automember.py:118 -msgid "" -"\n" -" Rebuild membership for all users:\n" -" ipa automember-rebuild --type=group\n" +#: ipalib/errors.py:1688 +#, python-format +msgid "Certificate format error: %(error)s" msgstr "" -#: ipalib/plugins/automember.py:121 -msgid "" -"\n" -" Rebuild membership for all hosts:\n" -" ipa automember-rebuild --type=hostgroup\n" +#: ipalib/errors.py:1739 +msgid "Already registered" msgstr "" -#: ipalib/plugins/automember.py:124 -msgid "" -"\n" -" Rebuild membership for specified users:\n" -" ipa automember-rebuild --users=tuser1 --users=tuser2\n" +#: ipalib/errors.py:1755 +msgid "Not registered yet" msgstr "" -#: ipalib/plugins/automember.py:127 -msgid "" -"\n" -" Rebuild membership for specified hosts:\n" -" ipa automember-rebuild --hosts=web1.example.com --hosts=web2.example." -"com\n" +#: ipalib/errors.py:1771 +#, python-format +msgid "%(key)s cannot be deleted because %(label)s %(dependent)s requires it" msgstr "" -#: ipalib/plugins/automember.py:146 ipalib/plugins/automember.py:147 -msgid "Inclusive Regex" +#: ipalib/errors.py:1787 +#, python-format +msgid "" +"%(key)s cannot be deleted or disabled because it is the last member of " +"%(label)s %(container)s" msgstr "" -#: ipalib/plugins/automember.py:153 ipalib/plugins/automember.py:154 -msgid "Exclusive Regex" +#: ipalib/errors.py:1803 +#, python-format +msgid "%(label)s %(key)s cannot be deleted/modified: %(reason)s" msgstr "" -#: ipalib/plugins/automember.py:159 -msgid "Attribute Key" +#: ipalib/errors.py:1820 +#, python-format +msgid "%(name)s certificate is not valid" msgstr "" -#: ipalib/plugins/automember.py:160 -msgid "" -"Attribute to filter via regex. For example fqdn for a host, or manager for a " -"user" +#: ipalib/errors.py:1847 +#, python-format +msgid "Host '%(hostname)s' does not have corresponding DNS A/AAAA record" msgstr "" -#: ipalib/plugins/automember.py:167 -msgid "Grouping Type" +#: ipalib/errors.py:1865 +#, python-format +msgid "DNS check failed: Expected {%(expected)s} got {%(got)s}" msgstr "" -#: ipalib/plugins/automember.py:168 -msgid "Grouping to which the rule applies" +#: ipalib/errors.py:1881 +#, python-format +msgid "%(exception)s" msgstr "" -#: ipalib/plugins/automember.py:176 ipalib/plugins/automember.py:177 -msgid "Automember Rule" +#: ipalib/frontend.py:423 +msgid "Results are truncated, try a more specific search" msgstr "" -#: ipalib/plugins/automember.py:236 -msgid "Auto Membership Rule" +#: ipalib/frontend.py:554 +#, python-format +msgid "Unknown option: %(option)s" msgstr "" -#: ipalib/plugins/automember.py:241 ipalib/plugins/automount.py:605 -#: ipalib/plugins/caacl.py:223 ipalib/plugins/group.py:249 -#: ipalib/plugins/hbacrule.py:233 ipalib/plugins/hbacsvc.py:108 -#: ipalib/plugins/hbacsvcgroup.py:112 ipalib/plugins/host.py:466 -#: ipalib/plugins/hostgroup.py:162 ipalib/plugins/idviews.py:105 -#: ipalib/plugins/idviews.py:653 ipalib/plugins/netgroup.py:197 -#: ipalib/plugins/otptoken.py:173 ipalib/plugins/privilege.py:132 -#: 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:227 -#: ipalib/plugins/vault.py:628 -msgid "Description" +#: ipalib/frontend.py:943 +msgid "" +"Retrieve and print all attributes from the server. Affects command output." msgstr "" -#: ipalib/plugins/automember.py:242 -msgid "A description of this auto member rule" +#: ipalib/frontend.py:949 +msgid "Print entries as stored on the server. Only affects output format." msgstr "" -#: ipalib/plugins/automember.py:246 ipalib/plugins/automember.py:572 -msgid "Default (fallback) Group" +#: ipalib/frontend.py:955 ipaserver/plugins/batch.py:77 +msgid "Client version. Used to determine if server will accept request." msgstr "" -#: ipalib/plugins/automember.py:247 -msgid "Default group for entries to land" +#: ipalib/frontend.py:1161 +msgid "Forward to server instead of running locally" msgstr "" -#: ipalib/plugins/automember.py:259 -#, python-format -msgid "%(otype)s \"%(oname)s\" not found" +#: ipalib/messages.py:84 +msgid "Additional instructions:" msgstr "" -#: ipalib/plugins/automember.py:285 +#: ipalib/messages.py:151 #, python-format -msgid "%s is not a valid attribute." +msgid "" +"API Version number was not sent, forward compatibility not guaranteed. " +"Assuming server's API version, %(server_version)s" msgstr "" -#: ipalib/plugins/automember.py:298 +#: ipalib/messages.py:163 msgid "" -"\n" -" Add an automember rule.\n" -" " +"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 "" -#: ipalib/plugins/automember.py:303 +#: ipalib/messages.py:175 #, python-format -msgid "Added automember rule \"%(value)s\"" +msgid "" +"DNSSEC support is experimental.\n" +"%(additional_info)s" msgstr "" -#: ipalib/plugins/automember.py:310 -msgid "Auto Membership is not configured" +#: ipalib/messages.py:185 +#, python-format +msgid "'%(option)s' option is deprecated. %(additional_info)s" msgstr "" -#: ipalib/plugins/automember.py:322 +#: ipalib/messages.py:195 +#, python-format msgid "" -"\n" -" Add conditions to an automember rule.\n" -" " +"Semantic of %(label)s was changed. %(current_behavior)s\n" +"%(hint)s" msgstr "" -#: ipalib/plugins/automember.py:327 -msgid "Failed to add" +#: ipalib/messages.py:206 +#, python-format +msgid "DNS server %(server)s: %(error)s." msgstr "" -#: ipalib/plugins/automember.py:334 +#: ipalib/messages.py:216 #, python-format -msgid "Added condition(s) to \"%(value)s\"" +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/plugins/automember.py:343 -msgid "Conditions that could not be added" +#: ipalib/messages.py:229 +#, 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/plugins/automember.py:347 -msgid "Number of conditions added" +#: ipalib/messages.py:243 +#, 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/plugins/automember.py:357 ipalib/plugins/automember.py:442 +#: ipalib/messages.py:256 #, python-format -msgid "Auto member rule: %s not found!" +msgid "" +"DNSSEC validation failed: %(error)s.\n" +"Please verify your DNSSEC configuration or disable DNSSEC validation on all " +"IPA servers." msgstr "" -#: ipalib/plugins/automember.py:399 +#: ipalib/messages.py:270 +#, python-format msgid "" -"\n" -" Override this so we can add completed and failed to the return " -"result.\n" -" " +"The _kerberos TXT record from domain %(domain)s could not be created " +"(%(error)s).\n" +"This can happen if the zone is not managed by IPA. Please create the record " +"manually, containing the following value: '%(realm)s'" msgstr "" -#: ipalib/plugins/automember.py:414 +#: ipalib/messages.py:286 +#, python-format msgid "" -"\n" -" Remove conditions from an automember rule.\n" -" " +"The _kerberos TXT record from domain %(domain)s could not be removed " +"(%(error)s).\n" +"This can happen if the zone is not managed by IPA. Please remove the record " +"manually." +msgstr "" + +#: ipalib/messages.py:300 +msgid "" +"No DNSSEC key master is installed. DNSSEC zone signing will not work until " +"the DNSSEC key master is installed." msgstr "" -#: ipalib/plugins/automember.py:419 +#: ipalib/messages.py:315 #, python-format -msgid "Removed condition(s) from \"%(value)s\"" +msgid "" +"Relative record name '%(record)s' contains the zone name '%(zone)s' as a " +"suffix, which results in FQDN '%(fqdn)s'. This is usually a mistake caused " +"by a missing dot at the end of the name specification." msgstr "" -#: ipalib/plugins/automember.py:428 -msgid "Conditions that could not be removed" +#: ipalib/messages.py:328 +#, python-format +msgid "'%(command)s' is deprecated. %(additional_info)s" msgstr "" -#: ipalib/plugins/automember.py:432 -msgid "Number of conditions removed" +#: ipalib/messages.py:338 +#, python-format +msgid "%(line)s" msgstr "" -#: ipalib/plugins/automember.py:486 -msgid "" -"\n" -" Override this so we can set completed and failed.\n" -" " +#: ipalib/messages.py:348 +#, python-format +msgid "Search result has been truncated: %(reason)s" msgstr "" -#: ipalib/plugins/automember.py:501 +#: ipalib/messages.py:358 +#, python-format msgid "" -"\n" -" Modify an automember rule.\n" -" " +"Your trust to %(domain)s is broken. Please re-create it by running 'ipa " +"trust-add' again." msgstr "" -#: ipalib/plugins/automember.py:506 +#: ipalib/messages.py:376 #, python-format -msgid "Modified automember rule \"%(value)s\"" +msgid "DNS record(s) of host %(host)s could not be removed. (%(reason)s)" msgstr "" -#: ipalib/plugins/automember.py:516 +#: ipalib/messages.py:390 msgid "" -"\n" -" Delete an automember rule.\n" -" " +"Forwarding policy conflicts with some automatic empty zones. Queries for " +"zones specified by RFC 6303 will ignore forwarding and recursion and always " +"result in NXDOMAIN answers. To override this behavior use forward policy " +"'only'." msgstr "" -#: ipalib/plugins/automember.py:521 +#: ipalib/messages.py:404 #, python-format -msgid "Deleted automember rule \"%(value)s\"" +msgid "Update of system record '%(record)s' failed with error: %(error)s" +msgstr "" + +#: ipalib/messages.py:415 +#, python-format +msgid "" +"IPA does not manage the zone %(zone)s, please add records to your DNS server " +"manually" msgstr "" -#: ipalib/plugins/automember.py:531 +#: ipalib/messages.py:424 msgid "" -"\n" -" Search for automember rules.\n" -" " +"Automatic update of DNS system records failed. Please re-run update of " +"system records manually to get list of missing records." msgstr "" -#: ipalib/plugins/automember.py:538 +#: ipalib/messages.py:434 #, python-format -msgid "%(count)d rules matched" -msgid_plural "%(count)d rules matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/automember.py:550 msgid "" -"\n" -" Display information about an automember rule.\n" -" " +"Service %(service)s requires restart on IPA server %(server)s to apply " +"configuration changes." msgstr "" -#: ipalib/plugins/automember.py:565 +#: ipalib/messages.py:443 +#, python-format msgid "" -"\n" -" Set default (fallback) group for all unmatched entries.\n" -" " +"No DNS servers in IPA location %(location)s. Without DNS servers location is " +"not working as expected." msgstr "" -#: ipalib/plugins/automember.py:573 -msgid "Default (fallback) group for entries to land" +#: ipalib/output.py:109 +msgid "A dictionary representing an LDAP entry" +msgstr "" + +#: ipalib/output.py:117 +msgid "A list of LDAP entries" +msgstr "" + +#: ipalib/output.py:169 +msgid "All commands should at least have a result" +msgstr "" + +#: ipalib/output.py:172 +msgid "User-friendly description of action performed" +msgstr "" + +#: ipalib/output.py:176 +msgid "The primary_key value of the entry, e.g. 'jdoe' for a user" msgstr "" -#: ipalib/plugins/automember.py:577 +#: ipalib/output.py:191 +msgid "Number of entries returned" +msgstr "" + +#: ipalib/output.py:192 +msgid "True if not all results were returned" +msgstr "" + +#: ipalib/output.py:197 ipalib/output.py:203 +msgid "List of deletions that failed" +msgstr "" + +#: ipalib/output.py:209 ipalib/output.py:217 ipaserver/plugins/dns.py:343 +msgid "True means the operation was successful" +msgstr "" + +#: ipalib/parameters.py:388 +msgid "incorrect type" +msgstr "" + +#: ipalib/parameters.py:391 +msgid "Only one value is allowed" +msgstr "" + +#: ipalib/parameters.py:877 +msgid "this option is deprecated" +msgstr "" + +#: ipalib/parameters.py:971 +msgid "must be True or False" +msgstr "" + +#: ipalib/parameters.py:1069 +msgid "must be an integer" +msgstr "" + +#: ipalib/parameters.py:1119 #, python-format -msgid "Set default (fallback) group for automember \"%(value)s\"" +msgid "must be at least %(minvalue)d" msgstr "" -#: ipalib/plugins/automember.py:593 -msgid "" -"\n" -" Remove default (fallback) group for all unmatched entries.\n" -" " +#: ipalib/parameters.py:1129 +#, python-format +msgid "can be at most %(maxvalue)d" +msgstr "" + +#: ipalib/parameters.py:1145 +msgid "must be a decimal number" msgstr "" -#: ipalib/plugins/automember.py:598 +#: ipalib/parameters.py:1191 #, python-format -msgid "Removed default (fallback) group for automember \"%(value)s\"" +msgid "must be at least %(minvalue)s" msgstr "" -#: ipalib/plugins/automember.py:608 ipalib/plugins/automember.py:616 -#: ipalib/plugins/automember.py:640 -msgid "No default (fallback) group set" +#: ipalib/parameters.py:1201 +#, python-format +msgid "can be at most %(maxvalue)s" msgstr "" -#: ipalib/plugins/automember.py:627 +#: ipalib/parameters.py:1209 +#, python-format msgid "" -"\n" -" Display information about the default (fallback) automember groups.\n" -" " +"number class '%(cls)s' is not included in a list of allowed number classes: " +"%(allowed)s" msgstr "" -#: ipalib/plugins/automember.py:651 -msgid "Rebuild auto membership." +#: ipalib/parameters.py:1332 +#, python-format +msgid "must match pattern \"%(pattern)s\"" msgstr "" -#: ipalib/plugins/automember.py:657 -msgid "Rebuild membership for all members of a grouping" +#: ipalib/parameters.py:1350 +msgid "must be binary data" msgstr "" -#: ipalib/plugins/automember.py:661 ipalib/plugins/baseuser.py:213 -#: ipalib/plugins/caacl.py:270 ipalib/plugins/hbacrule.py:240 -#: ipalib/plugins/internal.py:592 ipalib/plugins/selinuxusermap.py:234 -#: ipalib/plugins/sudorule.py:271 ipalib/plugins/user.py:133 -msgid "Users" +#: ipalib/parameters.py:1369 +#, python-format +msgid "must be at least %(minlength)d bytes" msgstr "" -#: ipalib/plugins/automember.py:662 -msgid "Rebuild membership for specified users" +#: ipalib/parameters.py:1379 +#, python-format +msgid "can be at most %(maxlength)d bytes" msgstr "" -#: ipalib/plugins/automember.py:666 ipalib/plugins/caacl.py:278 -#: ipalib/plugins/hbacrule.py:248 ipalib/plugins/host.py:454 -#: ipalib/plugins/internal.py:586 ipalib/plugins/selinuxusermap.py:242 -#: ipalib/plugins/sudorule.py:284 -msgid "Hosts" +#: ipalib/parameters.py:1389 +#, python-format +msgid "must be exactly %(length)d bytes" msgstr "" -#: ipalib/plugins/automember.py:667 -msgid "Rebuild membership for specified hosts" +#: ipalib/parameters.py:1420 +msgid "must be Unicode text" msgstr "" -#: ipalib/plugins/automember.py:672 -msgid "No wait" +#: ipalib/parameters.py:1451 +msgid "Leading and trailing spaces are not allowed" msgstr "" -#: ipalib/plugins/automember.py:673 -msgid "Don't wait for rebuilding membership" +#: ipalib/parameters.py:1459 +#, python-format +msgid "must be at least %(minlength)d characters" msgstr "" -#: ipalib/plugins/automember.py:680 -msgid "Task DN" +#: ipalib/parameters.py:1469 +#, python-format +msgid "can be at most %(maxlength)d characters" msgstr "" -#: ipalib/plugins/automember.py:681 -msgid "DN of the started task" +#: ipalib/parameters.py:1479 +#, python-format +msgid "must be exactly %(length)d characters" msgstr "" -#: ipalib/plugins/automember.py:698 -msgid "at least one of options: type, users, hosts must be specified" +#: ipalib/parameters.py:1499 +#, python-format +msgid "The character %(char)r is not allowed." msgstr "" -#: ipalib/plugins/automember.py:704 -msgid "users and hosts cannot both be set" +#: ipalib/parameters.py:1551 +#, python-format +msgid "must be '%(value)s'" msgstr "" -#: ipalib/plugins/automember.py:708 -msgid "hosts cannot be set when type is 'group'" +#: ipalib/parameters.py:1554 +#, python-format +msgid "must be one of %(values)s" msgstr "" -#: ipalib/plugins/automember.py:712 -msgid "users cannot be set when type is 'hostgroup'" +#: ipalib/parameters.py:1657 +msgid "must be datetime value" msgstr "" -#: ipalib/plugins/automember.py:766 -msgid "Automember rebuild membership task started" +#: ipalib/parameters.py:1671 +msgid "does not match any of accepted formats: " msgstr "" -#: ipalib/plugins/automember.py:770 ipalib/plugins/internal.py:159 -msgid "Automember rebuild membership task completed" +#: ipalib/parameters.py:1855 +msgid "incomplete time value" +msgstr "" + +#: ipalib/parameters.py:1929 +msgid "must be DNS name" +msgstr "" + +#: ipalib/parameters.py:1959 +msgid "must be absolute" +msgstr "" + +#: ipalib/parameters.py:1963 +msgid "must be relative" +msgstr "" + +#: ipalib/parameters.py:1972 +msgid "must be dictionary" +msgstr "" + +#: ipalib/rpc.py:947 +msgid "any of the configured servers" +msgstr "" + +#: ipalib/session.py:774 ipalib/session.py:877 +msgid "could not allocate unique new session_id" msgstr "" -#: ipalib/plugins/automember.py:787 +#: ipalib/util.py:156 +msgid "Filename is empty" +msgstr "" + +#: ipalib/util.py:160 #, python-format -msgid "Task DN = '%s'" +msgid "Permission denied: %(file)s" msgstr "" -#: ipalib/plugins/automember.py:790 ipalib/plugins/internal.py:812 -msgid "Automember" +#: ipalib/util.py:202 ipalib/util.py:738 +msgid "empty DNS label" +msgstr "" + +#: ipalib/util.py:205 +msgid "DNS label cannot be longer that 63 characters" msgstr "" -#: ipalib/plugins/automount.py:35 +#: ipalib/util.py:210 +#, python-format msgid "" -"\n" -"Automount\n" -"\n" -"Stores automount(8) configuration for autofs(8) in IPA.\n" -"\n" -"The base of an automount configuration is the configuration file auto." -"master.\n" -"This is also the base location in IPA. Multiple auto.master configurations\n" -"can be stored in separate locations. A location is implementation-specific\n" -"with the default being a location named 'default'. For example, you can " -"have\n" -"locations by geographic region, by floor, by type, etc.\n" -"\n" -"Automount has three basic object types: locations, maps and keys.\n" -"\n" -"A location defines a set of maps anchored in auto.master. This allows you\n" -"to store multiple automount configurations. A location in itself isn't\n" -"very interesting, it is just a point to start a new automount map.\n" -"\n" -"A map is roughly equivalent to a discrete automount file and provides\n" -"storage for keys.\n" -"\n" -"A key is a mount point associated with a map.\n" -"\n" -"When a new location is created, two maps are automatically created for\n" -"it: auto.master and auto.direct. auto.master is the root map for all\n" -"automount maps for the location. auto.direct is the default map for\n" -"direct mounts and is mounted on /-.\n" -"\n" -"An automount map may contain a submount key. This key defines a mount\n" -"location within the map that references another map. This can be done\n" -"either using automountmap-add-indirect --parentmap or manually\n" -"with automountkey-add and setting info to \"-type=autofs :\".\n" -"\n" -"EXAMPLES:\n" -"\n" -"Locations:\n" -"\n" -" Create a named location, \"Baltimore\":\n" -" ipa automountlocation-add baltimore\n" -"\n" -" Display the new location:\n" -" ipa automountlocation-show baltimore\n" -"\n" -" Find available locations:\n" -" ipa automountlocation-find\n" -"\n" -" Remove a named automount location:\n" -" ipa automountlocation-del baltimore\n" -"\n" -" Show what the automount maps would look like if they were in the " -"filesystem:\n" -" ipa automountlocation-tofiles baltimore\n" -"\n" -" Import an existing configuration into a location:\n" -" ipa automountlocation-import baltimore /etc/auto.master\n" -"\n" -" The import will fail if any duplicate entries are found. For\n" -" continuous operation where errors are ignored, use the --continue\n" -" option.\n" -"\n" -"Maps:\n" -"\n" -" Create a new map, \"auto.share\":\n" -" ipa automountmap-add baltimore auto.share\n" -"\n" -" Display the new map:\n" -" ipa automountmap-show baltimore auto.share\n" -"\n" -" Find maps in the location baltimore:\n" -" ipa automountmap-find baltimore\n" -"\n" -" Create an indirect map with auto.share as a submount:\n" -" ipa automountmap-add-indirect baltimore --parentmap=auto.share --" -"mount=sub auto.man\n" -"\n" -" This is equivalent to:\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" -" Remove the auto.share map:\n" -" ipa automountmap-del baltimore auto.share\n" -"\n" -"Keys:\n" -"\n" -" Create a new key for the auto.share map in location baltimore. This ties\n" -" the map we previously created to auto.master:\n" -" ipa automountkey-add baltimore auto.master --key=/share --info=auto." -"share\n" -"\n" -" Create a new key for our auto.share map, an NFS mount for man pages:\n" -" ipa automountkey-add baltimore auto.share --key=man --info=\"-ro,soft," -"rsize=8192,wsize=8192 ipa.example.com:/shared/man\"\n" -"\n" -" Find all keys for the auto.share map:\n" -" ipa automountkey-find baltimore auto.share\n" -"\n" -" Find all direct automount keys:\n" -" ipa automountkey-find baltimore --key=/-\n" -"\n" -" Remove the man key from the auto.share map:\n" -" ipa automountkey-del baltimore auto.share --key=man\n" +"only letters, numbers, %(chars)s are allowed. DNS label may not start or end " +"with %(chars2)s" msgstr "" -#: ipalib/plugins/automount.py:214 -msgid "automount location" +#: ipalib/util.py:229 +msgid "too many '@' characters" msgstr "" -#: ipalib/plugins/automount.py:215 -msgid "automount locations" +#: ipalib/util.py:245 +msgid "cannot be longer that 255 characters" msgstr "" -#: ipalib/plugins/automount.py:218 -msgid "Automount Locations" +#: ipalib/util.py:251 +msgid "hostname contains empty label (consecutive dots)" msgstr "" -#: ipalib/plugins/automount.py:219 -msgid "Automount Location" +#: ipalib/util.py:255 +msgid "not fully qualified" msgstr "" -#: ipalib/plugins/automount.py:248 ipalib/plugins/host.py:476 -msgid "Location" +#: ipalib/util.py:267 ipalib/util.py:273 +msgid "invalid SSH public key" msgstr "" -#: ipalib/plugins/automount.py:249 -msgid "Automount location name." +#: ipalib/util.py:276 +msgid "options are not allowed" msgstr "" -#: ipalib/plugins/automount.py:257 -msgid "Create a new automount location." +#: ipalib/util.py:540 +msgid "invalid hostmask" msgstr "" -#: ipalib/plugins/automount.py:259 +#: ipalib/util.py:552 #, python-format -msgid "Added automount location \"%(value)s\"" +msgid "query '%(owner)s %(rtype)s': %(error)s" msgstr "" -#: ipalib/plugins/automount.py:277 -msgid "Delete an automount location." +#: ipalib/util.py:556 +#, python-format +msgid "query '%(owner)s %(rtype)s' with EDNS0: %(error)s" msgstr "" -#: ipalib/plugins/automount.py:279 +#: ipalib/util.py:560 #, python-format -msgid "Deleted automount location \"%(value)s\"" +msgid "" +"answer to query '%(owner)s %(rtype)s' is missing DNSSEC signatures (no RRSIG " +"data)" msgstr "" -#: ipalib/plugins/automount.py:284 -msgid "Display an automount location." +#: ipalib/util.py:565 +#, python-format +msgid "record '%(owner)s %(rtype)s' failed DNSSEC validation on server %(ip)s" msgstr "" -#: ipalib/plugins/automount.py:289 -msgid "Search for an automount location." +#: ipalib/util.py:736 +msgid "invalid escape code in domain name" msgstr "" -#: ipalib/plugins/automount.py:292 -#, python-format -msgid "%(count)d automount location matched" -msgid_plural "%(count)d automount locations matched" -msgstr[0] "" -msgstr[1] "" +#: ipalib/util.py:740 +msgid "domain name cannot be longer than 255 characters" +msgstr "" -#: ipalib/plugins/automount.py:299 -msgid "Generate automount files for a specific location." +#: ipalib/util.py:742 +msgid "DNS label cannot be longer than 63 characters" msgstr "" -#: ipalib/plugins/automount.py:377 -msgid "maps not connected to /etc/auto.master:" +#: ipalib/util.py:744 +msgid "invalid domain name" msgstr "" -#: ipalib/plugins/automount.py:394 -msgid "Import automount files for a specific location." +#: ipalib/util.py:757 +#, python-format +msgid "domain name '%(domain)s' should be normalized to: %(normalized)s" msgstr "" -#: ipalib/plugins/automount.py:398 -msgid "Master file" +#: ipalib/util.py:865 +#, python-format +msgid "invalid domain-name: %s" msgstr "" -#: ipalib/plugins/automount.py:399 -msgid "Automount master file." +#: ipalib/util.py:877 +#, python-format +msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" msgstr "" -#: ipalib/plugins/automount.py:406 -msgid "" -"Continuous operation mode. Errors are reported but the process continues." +#: ipalib/util.py:883 +msgid "invalid IP address format" msgstr "" -#: ipalib/plugins/automount.py:418 +#: ipalib/util.py:901 #, python-format -msgid "File %(file)s not found" +msgid "%(port)s is not a valid port" +msgstr "" + +#: ipalib/x509.py:313 +msgid "improperly formatted DER-encoded certificate" msgstr "" -#: ipalib/plugins/automount.py:470 +#: ipapython/dogtag.py:85 #, python-format -msgid "key %(key)s already exists" +msgid "Retrieving CA cert chain failed: %s" msgstr "" -#: ipalib/plugins/automount.py:486 +#: ipapython/dogtag.py:91 #, python-format -msgid "map %(map)s already exists" +msgid "request failed with HTTP status %d" msgstr "" -#: ipalib/plugins/automount.py:590 -msgid "automount map" +#: ipapython/dogtag.py:103 +#, python-format +msgid "Retrieving CA status failed: %s" msgstr "" -#: ipalib/plugins/automount.py:591 -msgid "automount maps" +#: ipapython/dogtag.py:123 +#, python-format +msgid "Retrieving CA status failed with status %d" msgstr "" -#: ipalib/plugins/automount.py:599 -msgid "Map" +#: ipapython/ipaldap.py:1043 +#, python-format +msgid "objectclass %s not found" msgstr "" -#: ipalib/plugins/automount.py:600 -msgid "Automount map name." +#: ipaserver/dcerpc.py:68 +msgid "" +"\n" +"Classes to manage trust joins using DCE-RPC calls\n" +"\n" +"The code in this module relies heavily on samba4-python package\n" +"and Samba4 python bindings.\n" msgstr "" -#: ipalib/plugins/automount.py:634 -msgid "Automount Maps" +#: ipaserver/dcerpc.py:94 +msgid "CIFS server denied your credentials" msgstr "" -#: ipalib/plugins/automount.py:635 -msgid "Automount Map" +#: ipaserver/dcerpc.py:97 +msgid "communication with CIFS server was unsuccessful" msgstr "" -#: ipalib/plugins/automount.py:640 -msgid "Create a new automount map." +#: ipaserver/dcerpc.py:102 +msgid "AD domain controller" msgstr "" -#: ipalib/plugins/automount.py:642 -#, python-format -msgid "Added automount map \"%(value)s\"" +#: ipaserver/dcerpc.py:102 +msgid "unsupported functional level" msgstr "" -#: ipalib/plugins/automount.py:647 -msgid "Delete an automount map." +#: ipaserver/dcerpc.py:105 +msgid "" +"AD domain controller complains about communication sequence. It may mean " +"unsynchronized time on both sides, for example" msgstr "" -#: ipalib/plugins/automount.py:649 -#, python-format -msgid "Deleted automount map \"%(value)s\"" +#: ipaserver/dcerpc.py:109 +msgid "CIFS server configuration does not allow access to \\\\pipe\\lsarpc" msgstr "" -#: ipalib/plugins/automount.py:667 -msgid "Modify an automount map." +#: ipaserver/dcerpc.py:114 +msgid "Cannot find specified domain or server name" msgstr "" -#: ipalib/plugins/automount.py:669 -#, python-format -msgid "Modified automount map \"%(value)s\"" +#: ipaserver/dcerpc.py:116 +msgid "" +"AD DC was unable to reach any IPA domain controller. Most likely it is a DNS " +"or firewall issue" msgstr "" -#: ipalib/plugins/automount.py:674 -msgid "Search for an automount map." +#: ipaserver/dcerpc.py:118 +msgid "At least the domain or IP address should be specified" msgstr "" -#: ipalib/plugins/automount.py:677 +#: ipaserver/dcerpc.py:138 #, python-format -msgid "%(count)d automount map matched" -msgid_plural "%(count)d automount maps matched" -msgstr[0] "" -msgstr[1] "" +msgid "" +"CIFS server communication error: code \"%(num)s\",\n" +" message \"%(message)s\" (both may be \"None\")" +msgstr "" -#: ipalib/plugins/automount.py:684 -msgid "Display an automount map." +#: ipaserver/dcerpc.py:247 +msgid "no trusted domain is configured" msgstr "" -#: ipalib/plugins/automount.py:689 -msgid "Automount key object." +#: ipaserver/dcerpc.py:254 +msgid "domain is not configured" msgstr "" -#: ipalib/plugins/automount.py:693 -msgid "automount key" +#: ipaserver/dcerpc.py:261 +msgid "SID is not valid" msgstr "" -#: ipalib/plugins/automount.py:694 -msgid "automount keys" +#: ipaserver/dcerpc.py:276 +msgid "SID does not match exactlywith any trusted domain's SID" msgstr "" -#: ipalib/plugins/automount.py:706 ipalib/plugins/automount.py:955 -#: ipalib/plugins/automount.py:1062 ipalib/plugins/otptoken.py:218 -msgid "Key" +#: ipaserver/dcerpc.py:287 +msgid "SID does not match any trusted domain" msgstr "" -#: ipalib/plugins/automount.py:707 ipalib/plugins/automount.py:956 -#: ipalib/plugins/automount.py:1063 -msgid "Automount key name." +#: ipaserver/dcerpc.py:327 ipaserver/dcerpc.py:333 ipaserver/dcerpc.py:672 +msgid "Trust setup" msgstr "" -#: ipalib/plugins/automount.py:712 ipalib/plugins/automount.py:960 -#: ipalib/plugins/automount.py:1067 -msgid "Mount information" +#: ipaserver/dcerpc.py:328 +msgid "Our domain is not configured" msgstr "" -#: ipalib/plugins/automount.py:715 -msgid "description" +#: ipaserver/dcerpc.py:334 +msgid "No trusted domain is not configured" msgstr "" -#: ipalib/plugins/automount.py:753 -msgid "Automount Keys" +#: ipaserver/dcerpc.py:339 ipaserver/dcerpc.py:354 ipaserver/dcerpc.py:369 +#: ipaserver/dcerpc.py:376 ipaserver/dcerpc.py:388 ipaserver/dcerpc.py:395 +#: ipaserver/dcerpc.py:456 ipaserver/dcerpc.py:508 +msgid "trusted domain object" msgstr "" -#: ipalib/plugins/automount.py:754 -msgid "Automount Key" +#: ipaserver/dcerpc.py:340 +msgid "domain is not trusted" msgstr "" -#: ipalib/plugins/automount.py:755 -#, python-format -msgid "" -"The key,info pair must be unique. A key named %(key)s with info %(info)s " -"already exists" +#: ipaserver/dcerpc.py:355 +msgid "no trusted domain matched the specified flat name" msgstr "" -#: ipalib/plugins/automount.py:756 -#, python-format -msgid "key named %(key)s already exists" +#: ipaserver/dcerpc.py:357 +msgid "trusted domain object not found" msgstr "" -#: ipalib/plugins/automount.py:757 -#, python-format -msgid "The automount key %(key)s with info %(info)s does not exist" +#: ipaserver/dcerpc.py:370 +msgid "SSSD was unable to resolve the object to a valid SID" msgstr "" -#: ipalib/plugins/automount.py:807 -#, python-format -msgid "" -"More than one entry with key %(key)s found, use --info to select specific " -"entry." +#: ipaserver/dcerpc.py:377 ipaserver/dcerpc.py:509 +msgid "Ambiguous search, user domain was not specified" msgstr "" -#: ipalib/plugins/automount.py:866 -msgid "Create a new automount key." +#: ipaserver/dcerpc.py:389 ipaserver/dcerpc.py:457 +msgid "Trusted domain did not return a unique object" msgstr "" -#: ipalib/plugins/automount.py:868 -#, python-format -msgid "Added automount key \"%(value)s\"" +#: ipaserver/dcerpc.py:396 +msgid "Trusted domain did not return a valid SID for the object" msgstr "" -#: ipalib/plugins/automount.py:895 -msgid "Create a new indirect mount point." +#: ipaserver/dcerpc.py:494 ipaserver/dcerpc.py:504 +msgid "trusted domain user not found" msgstr "" -#: ipalib/plugins/automount.py:897 -#, python-format -msgid "Added automount indirect map \"%(value)s\"" +#: ipaserver/dcerpc.py:673 +msgid "Cannot retrieve trusted domain GC list" msgstr "" -#: ipalib/plugins/automount.py:902 -msgid "Mount point" -msgstr "" - -#: ipalib/plugins/automount.py:906 -msgid "Parent map" -msgstr "" - -#: ipalib/plugins/automount.py:907 -msgid "Name of parent automount map (default: auto.master)." -msgstr "" - -#: ipalib/plugins/automount.py:921 -msgid "mount point is relative to parent map, cannot begin with /" -msgstr "" - -#: ipalib/plugins/automount.py:948 -msgid "Delete an automount key." +#: ipaserver/dcerpc.py:814 +msgid "CIFS credentials object" msgstr "" -#: ipalib/plugins/automount.py:950 +#: ipaserver/dcerpc.py:852 #, python-format -msgid "Deleted automount key \"%(value)s\"" -msgstr "" - -#: ipalib/plugins/automount.py:989 -msgid "Modify an automount key." +msgid "CIFS server %(host)s denied your credentials" msgstr "" -#: ipalib/plugins/automount.py:991 +#: ipaserver/dcerpc.py:856 #, python-format -msgid "Modified automount key \"%(value)s\"" +msgid "Cannot establish LSA connection to %(host)s. Is CIFS server running?" msgstr "" -#: ipalib/plugins/automount.py:998 -msgid "New mount information" +#: ipaserver/dcerpc.py:1054 +#, python-format +msgid "" +"the IPA server and the remote domain cannot share the same NetBIOS name: %s" msgstr "" -#: ipalib/plugins/automount.py:1047 -msgid "Search for an automount key." +#: ipaserver/dcerpc.py:1160 +#, 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. Additionally, please check that AD DNS is able to resolve %(records)s " +"SRV records to the correct IPA server." msgstr "" -#: ipalib/plugins/automount.py:1050 +#: ipaserver/install/certs.py:406 #, python-format -msgid "%(count)d automount key matched" -msgid_plural "%(count)d automount keys matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/automount.py:1057 -msgid "Display an automount key." +msgid "Unable to communicate with CMS (status %d)" msgstr "" -#: ipalib/plugins/baseldap.py:48 ipalib/plugins/baseuser.py:281 -#: ipalib/plugins/internal.py:197 ipalib/plugins/internal.py:317 -#: ipalib/plugins/internal.py:776 ipalib/plugins/migration.py:505 -#: ipalib/plugins/otptoken.py:507 -msgid "Password" +#: ipaserver/plugins/aci.py:162 +msgid "A list of ACI values" msgstr "" -#: ipalib/plugins/baseldap.py:51 ipalib/plugins/servicedelegation.py:105 -msgid "Failed members" +#: ipaserver/plugins/aci.py:226 +msgid "type, filter, subtree and targetgroup are mutually exclusive" msgstr "" -#: ipalib/plugins/baseldap.py:54 -msgid "Member users" +#: ipaserver/plugins/aci.py:229 +msgid "ACI prefix is required" msgstr "" -#: ipalib/plugins/baseldap.py:57 -msgid "Member groups" +#: ipaserver/plugins/aci.py:232 +msgid "" +"at least one of: type, filter, subtree, targetgroup, attrs or memberof are " +"required" msgstr "" -#: ipalib/plugins/baseldap.py:60 -msgid "Member of groups" +#: ipaserver/plugins/aci.py:235 +msgid "filter and memberof are mutually exclusive" msgstr "" -#: ipalib/plugins/baseldap.py:63 -msgid "Member hosts" +#: ipaserver/plugins/aci.py:241 +msgid "group, permission and self are mutually exclusive" msgstr "" -#: ipalib/plugins/baseldap.py:66 -msgid "Member host-groups" +#: ipaserver/plugins/aci.py:243 +msgid "One of group, permission or self is required" msgstr "" -#: ipalib/plugins/baseldap.py:69 -msgid "Member of host-groups" +#: ipaserver/plugins/aci.py:266 +#, python-format +msgid "Group '%s' does not exist" msgstr "" -#: ipalib/plugins/baseldap.py:78 ipalib/plugins/role.py:130 -msgid "Roles" +#: ipaserver/plugins/aci.py:292 +msgid "empty filter" msgstr "" -#: ipalib/plugins/baseldap.py:81 ipalib/plugins/sudocmdgroup.py:110 -#: ipalib/plugins/sudocmdgroup.py:130 -msgid "Sudo Command Groups" +#: ipaserver/plugins/aci.py:313 +#, python-format +msgid "Syntax Error: %(error)s" msgstr "" -#: ipalib/plugins/baseldap.py:87 -msgid "Granting privilege to roles" +#: ipaserver/plugins/aci.py:357 +#, python-format +msgid "invalid DN (%s)" msgstr "" -#: ipalib/plugins/baseldap.py:90 -msgid "Member netgroups" +#: ipaserver/plugins/aci.py:404 +#, python-format +msgid "ACI with name \"%s\" not found" msgstr "" -#: ipalib/plugins/baseldap.py:93 -msgid "Member of netgroups" +#: ipaserver/plugins/aci.py:422 +msgid "ACI prefix" msgstr "" -#: ipalib/plugins/baseldap.py:96 -msgid "Member services" +#: ipaserver/plugins/aci.py:423 +msgid "" +"Prefix used to distinguish ACI types (permission, delegation, selfservice, " +"none)" msgstr "" -#: ipalib/plugins/baseldap.py:99 -msgid "Member service groups" +#: ipaserver/plugins/aci.py:437 +msgid "ACIs" msgstr "" -#: ipalib/plugins/baseldap.py:105 -msgid "Member HBAC service" +#: ipaserver/plugins/aci.py:442 +msgid "ACI name" msgstr "" -#: ipalib/plugins/baseldap.py:108 -msgid "Member HBAC service groups" +#: ipaserver/plugins/aci.py:448 ipaserver/plugins/permission.py:232 +msgid "Permission" msgstr "" -#: ipalib/plugins/baseldap.py:123 -msgid "Indirect Member users" +#: ipaserver/plugins/aci.py:449 +msgid "Permission ACI grants access to" msgstr "" -#: ipalib/plugins/baseldap.py:126 -msgid "Indirect Member groups" +#: ipaserver/plugins/aci.py:454 ipaserver/plugins/delegation.py:102 +msgid "User group" msgstr "" -#: ipalib/plugins/baseldap.py:129 -msgid "Indirect Member hosts" +#: ipaserver/plugins/aci.py:455 ipaserver/plugins/delegation.py:103 +msgid "User group ACI grants access to" msgstr "" -#: ipalib/plugins/baseldap.py:132 -msgid "Indirect Member host-groups" +#: ipaserver/plugins/aci.py:460 ipaserver/plugins/baseldap.py:73 +#: ipaserver/plugins/delegation.py:86 ipaserver/plugins/permission.py:231 +#: ipaserver/plugins/selfservice.py:90 +msgid "Permissions" msgstr "" -#: ipalib/plugins/baseldap.py:135 -msgid "Indirect Member of roles" +#: ipaserver/plugins/aci.py:461 +msgid "Permissions to grant(read, write, add, delete, all)" msgstr "" -#: ipalib/plugins/baseldap.py:138 -msgid "Indirect Member permissions" +#: ipaserver/plugins/aci.py:468 +msgid "Attributes to which the permission applies" msgstr "" -#: ipalib/plugins/baseldap.py:141 -msgid "Indirect Member HBAC service" +#: ipaserver/plugins/aci.py:469 ipaserver/plugins/delegation.py:91 +#: ipaserver/plugins/selfservice.py:95 +msgid "Attributes" msgstr "" -#: ipalib/plugins/baseldap.py:144 -msgid "Indirect Member HBAC service group" +#: ipaserver/plugins/aci.py:474 ipaserver/plugins/otptoken.py:163 +#: ipaserver/plugins/permission.py:345 ipaserver/plugins/schema.py:396 +#: ipaserver/plugins/vault.py:584 +msgid "Type" msgstr "" -#: ipalib/plugins/baseldap.py:147 -msgid "Indirect Member netgroups" +#: ipaserver/plugins/aci.py:475 +msgid "type of IPA object (user, group, host, hostgroup, service, netgroup)" msgstr "" -#: ipalib/plugins/baseldap.py:168 -msgid "Failed source hosts/hostgroups" +#: ipaserver/plugins/aci.py:481 +msgid "Member of" msgstr "" -#: ipalib/plugins/baseldap.py:171 -msgid "Failed hosts/hostgroups" +#: ipaserver/plugins/aci.py:482 +msgid "Member of a group" msgstr "" -#: ipalib/plugins/baseldap.py:174 -msgid "Failed users/groups" +#: ipaserver/plugins/aci.py:487 ipaserver/plugins/internal.py:210 +#: ipaserver/plugins/internal.py:621 ipaserver/plugins/internal.py:819 +msgid "Filter" msgstr "" -#: ipalib/plugins/baseldap.py:177 -msgid "Failed service/service groups" +#: ipaserver/plugins/aci.py:488 +msgid "Legal LDAP filter (e.g. ou=Engineering)" msgstr "" -#: ipalib/plugins/baseldap.py:180 -msgid "Failed to remove" +#: ipaserver/plugins/aci.py:493 ipaserver/plugins/permission.py:290 +msgid "Subtree" msgstr "" -#: ipalib/plugins/baseldap.py:184 -msgid "Failed RunAs" +#: ipaserver/plugins/aci.py:494 +msgid "Subtree to apply ACI to" msgstr "" -#: ipalib/plugins/baseldap.py:187 -msgid "Failed RunAsGroup" +#: ipaserver/plugins/aci.py:499 ipaserver/plugins/permission.py:339 +msgid "Target group" msgstr "" -#: ipalib/plugins/baseldap.py:205 -msgid "Invalid format. Should be name=value" +#: ipaserver/plugins/aci.py:500 +msgid "Group to apply ACI to" msgstr "" -#: ipalib/plugins/baseldap.py:324 -msgid "External host" +#: ipaserver/plugins/aci.py:505 +msgid "Target your own entry (self)" msgstr "" -#: ipalib/plugins/baseldap.py:496 -msgid "An IPA master host cannot be deleted or disabled" +#: ipaserver/plugins/aci.py:506 +msgid "Apply ACI to your own entry (self)" msgstr "" -#: ipalib/plugins/baseldap.py:527 -msgid "entry" +#: ipaserver/plugins/aci.py:519 +#, python-format +msgid "Created ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/baseldap.py:528 -msgid "entries" +#: ipaserver/plugins/aci.py:524 +msgid "Test the ACI syntax but don't write anything" msgstr "" -#: ipalib/plugins/baseldap.py:561 ipalib/plugins/baseldap.py:562 -msgid "Entry" +#: ipaserver/plugins/aci.py:574 +#, python-format +msgid "Deleted ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/baseldap.py:565 -#, python-format -msgid "container entry (%(container)s) not found" +#: ipaserver/plugins/aci.py:616 ipaserver/plugins/aci.py:891 +#: ipaserver/plugins/aci.py:937 ipaserver/plugins/delegation.py:61 +#: ipaserver/plugins/permission.py:118 ipaserver/plugins/selfservice.py:62 +msgid "ACI" msgstr "" -#: ipalib/plugins/baseldap.py:566 +#: ipaserver/plugins/aci.py:624 #, python-format -msgid "%(parent)s: %(oname)s not found" +msgid "Modified ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/baseldap.py:567 +#: ipaserver/plugins/aci.py:698 #, python-format -msgid "%(pkey)s: %(oname)s not found" +msgid "%(count)d ACI matched" +msgid_plural "%(count)d ACIs matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/aci.py:898 +msgid "Location of the ACI" msgstr "" -#: ipalib/plugins/baseldap.py:568 -#, python-format -msgid "%(oname)s with name \"%(pkey)s\" already exists" +#: ipaserver/plugins/aci.py:944 +msgid "New ACI name" msgstr "" -#: ipalib/plugins/baseldap.py:849 ipalib/plugins/baseldap.py:857 -#: ipalib/plugins/baseldap.py:862 +#: ipaserver/plugins/aci.py:948 #, python-format -msgid "attribute \"%(attribute)s\" not allowed" +msgid "Renamed ACI to \"%(value)s\"" msgstr "" -#: ipalib/plugins/baseldap.py:924 +#: ipaserver/plugins/automember.py:43 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." +"\n" +"Auto Membership Rule.\n" msgstr "" -#: ipalib/plugins/baseldap.py:930 +#: ipaserver/plugins/automember.py:45 msgid "" -"Add an attribute/value pair. Format is attr=value. The attribute\n" -"must be part of the schema." +"\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 "" -#: ipalib/plugins/baseldap.py:936 +#: ipaserver/plugins/automember.py:49 msgid "" -"Delete an attribute/value pair. The option will be evaluated\n" -"last, after all sets and adds." +"\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 "" -#: ipalib/plugins/baseldap.py:970 -msgid "attribute is not configurable" +#: ipaserver/plugins/automember.py:52 +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 "" -#: ipalib/plugins/baseldap.py:1073 -msgid "No such attribute on this entry" +#: ipaserver/plugins/automember.py:56 +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 "" -#: ipalib/plugins/baseldap.py:1170 -msgid "Suppress processing of membership attributes." +#: ipaserver/plugins/automember.py:60 +msgid "" +"\n" +"The automember-rebuild command can be used to retroactively run automember " +"rules\n" +"against existing entries, thus rebuilding their membership.\n" msgstr "" -#: ipalib/plugins/baseldap.py:1327 -msgid "Continuous mode: Don't stop on errors." +#: ipaserver/plugins/automember.py:65 +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 "" -#: ipalib/plugins/baseldap.py:1348 ipalib/plugins/baseldap.py:1426 -msgid "Rights" +#: ipaserver/plugins/automember.py:69 +msgid "" +"\n" +" Add the initial rule:\n" +" ipa automember-add --type=hostgroup webservers\n" +" ipa automember-add --type=group devel\n" msgstr "" -#: ipalib/plugins/baseldap.py:1349 ipalib/plugins/baseldap.py:1427 +#: ipaserver/plugins/automember.py:73 msgid "" -"Display the access rights of this entry (requires --all). See ipa man page " -"for details." +"\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 "" -#: ipalib/plugins/baseldap.py:1436 -msgid "Rename" +#: ipaserver/plugins/automember.py:77 +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 "" -#: ipalib/plugins/baseldap.py:1437 -#, python-format -msgid "Rename the %(ldap_obj_name)s object" +#: ipaserver/plugins/automember.py:80 +msgid "" +"\n" +" Add a host:\n" +" ipa host-add web1.example.com\n" msgstr "" -#: ipalib/plugins/baseldap.py:1527 ipalib/plugins/baseldap.py:2399 -msgid "the entry was deleted while being modified" +#: ipaserver/plugins/automember.py:83 +msgid "" +"\n" +" Add a user:\n" +" ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott\n" msgstr "" -#: ipalib/plugins/baseldap.py:1664 ipalib/plugins/baseldap.py:2129 -#, python-format -msgid "%s" +#: ipaserver/plugins/automember.py:86 +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 "" -#: ipalib/plugins/baseldap.py:1665 ipalib/plugins/servicedelegation.py:189 -#: ipalib/plugins/servicedelegation.py:272 -#, python-format -msgid "member %s" +#: ipaserver/plugins/automember.py:98 +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 "" -#: ipalib/plugins/baseldap.py:1707 ipalib/plugins/baseldap.py:2154 -#, python-format -msgid "%s to add" +#: ipaserver/plugins/automember.py:101 +msgid "" +"\n" +" Modify the automember rule:\n" +" ipa automember-mod\n" msgstr "" -#: ipalib/plugins/baseldap.py:1715 ipalib/plugins/baseldap.py:2166 -#: ipalib/plugins/privilege.py:201 ipalib/plugins/privilege.py:232 -#: ipalib/plugins/role.py:213 ipalib/plugins/role.py:236 -msgid "Members that could not be added" +#: ipaserver/plugins/automember.py:104 +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 "" -#: ipalib/plugins/baseldap.py:1719 ipalib/plugins/baseldap.py:2170 -msgid "Number of members added" +#: ipaserver/plugins/automember.py:108 +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 "" -#: ipalib/plugins/baseldap.py:1809 ipalib/plugins/baseldap.py:2255 -#, python-format -msgid "%s to remove" -msgstr "" - -#: ipalib/plugins/baseldap.py:1816 ipalib/plugins/baseldap.py:2267 -msgid "Members that could not be removed" -msgstr "" - -#: ipalib/plugins/baseldap.py:1820 ipalib/plugins/baseldap.py:2271 -msgid "Number of members removed" -msgstr "" - -#: ipalib/plugins/baseldap.py:1911 -msgid "Primary key only" -msgstr "" - -#: ipalib/plugins/baseldap.py:1912 -#, python-format -msgid "Results should contain primary key attribute only (\"%s\")" +#: ipaserver/plugins/automember.py:112 +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 "" -#: ipalib/plugins/baseldap.py:1920 -#, python-format +#: ipaserver/plugins/automember.py:116 msgid "" -"Search for %(searched_object)s with these %(relationship)s %(ldap_object)s." +"\n" +" Find all of the automember rules:\n" +" ipa automember-find\n" msgstr "" -#: ipalib/plugins/baseldap.py:1921 -#, python-format +#: ipaserver/plugins/automember.py:119 msgid "" -"Search for %(searched_object)s without these %(relationship)s " -"%(ldap_object)s." +"\n" +" Display a automember rule:\n" +" ipa automember-show --type=hostgroup webservers\n" +" ipa automember-show --type=group devel\n" msgstr "" -#: ipalib/plugins/baseldap.py:1930 -msgid "Time Limit" +#: ipaserver/plugins/automember.py:123 +msgid "" +"\n" +" Delete an automember rule:\n" +" ipa automember-del --type=hostgroup webservers\n" +" ipa automember-del --type=group devel\n" msgstr "" -#: ipalib/plugins/baseldap.py:1931 -msgid "Time limit of search in seconds (0 is unlimited)" +#: ipaserver/plugins/automember.py:127 +msgid "" +"\n" +" Rebuild membership for all users:\n" +" ipa automember-rebuild --type=group\n" msgstr "" -#: ipalib/plugins/baseldap.py:1937 ipalib/plugins/cert.py:791 -#: ipalib/plugins/hbactest.py:292 -msgid "Size Limit" +#: ipaserver/plugins/automember.py:130 +msgid "" +"\n" +" Rebuild membership for all hosts:\n" +" ipa automember-rebuild --type=hostgroup\n" msgstr "" -#: ipalib/plugins/baseldap.py:1938 -msgid "Maximum number of entries returned (0 is unlimited)" +#: ipaserver/plugins/automember.py:133 +msgid "" +"\n" +" Rebuild membership for specified users:\n" +" ipa automember-rebuild --users=tuser1 --users=tuser2\n" msgstr "" -#: ipalib/plugins/baseldap.py:2433 -msgid "added attribute value to entry %(value)" +#: ipaserver/plugins/automember.py:136 +msgid "" +"\n" +" Rebuild membership for specified hosts:\n" +" ipa automember-rebuild --hosts=web1.example.com --hosts=web2.example." +"com\n" msgstr "" -#: ipalib/plugins/baseldap.py:2442 -#, python-format -msgid "'%s' already contains one or more values" +#: ipaserver/plugins/automember.py:155 ipaserver/plugins/automember.py:156 +msgid "Inclusive Regex" msgstr "" -#: ipalib/plugins/baseldap.py:2450 -msgid "removed attribute values from entry %(value)" +#: ipaserver/plugins/automember.py:162 ipaserver/plugins/automember.py:163 +msgid "Exclusive Regex" msgstr "" -#: ipalib/plugins/baseldap.py:2459 -msgid "one or more values to remove" +#: ipaserver/plugins/automember.py:171 +msgid "Attribute Key" msgstr "" -#: ipalib/plugins/baseuser.py:48 +#: ipaserver/plugins/automember.py:172 msgid "" -"\n" -"Baseuser\n" -"\n" -"This contains common definitions for user/stageuser\n" -msgstr "" - -#: ipalib/plugins/baseuser.py:60 -msgid "Kerberos keys available" +"Attribute to filter via regex. For example fqdn for a host, or manager for a " +"user" msgstr "" -#: ipalib/plugins/baseuser.py:63 ipalib/plugins/host.py:224 -msgid "SSH public key fingerprint" +#: ipaserver/plugins/automember.py:179 +msgid "Grouping Type" msgstr "" -#: ipalib/plugins/baseuser.py:69 ipalib/plugins/radiusproxy.py:114 -msgid "Server" +#: ipaserver/plugins/automember.py:180 +msgid "Grouping to which the rule applies" msgstr "" -#: ipalib/plugins/baseuser.py:72 -msgid "Failed logins" +#: ipaserver/plugins/automember.py:188 ipaserver/plugins/automember.py:189 +msgid "Automember Rule" msgstr "" -#: ipalib/plugins/baseuser.py:75 -msgid "Last successful authentication" +#: ipaserver/plugins/automember.py:249 +msgid "Auto Membership Rule" msgstr "" -#: ipalib/plugins/baseuser.py:78 -msgid "Last failed authentication" +#: ipaserver/plugins/automember.py:254 ipaserver/plugins/automount.py:364 +#: ipaserver/plugins/ca.py:61 ipaserver/plugins/caacl.py:227 +#: ipaserver/plugins/group.py:273 ipaserver/plugins/hbacrule.py:253 +#: ipaserver/plugins/hbacsvc.py:108 ipaserver/plugins/hbacsvcgroup.py:120 +#: ipaserver/plugins/host.py:462 ipaserver/plugins/hostgroup.py:168 +#: ipaserver/plugins/idviews.py:107 ipaserver/plugins/idviews.py:655 +#: ipaserver/plugins/location.py:111 ipaserver/plugins/netgroup.py:210 +#: ipaserver/plugins/otptoken.py:172 ipaserver/plugins/privilege.py:145 +#: ipaserver/plugins/radiusproxy.py:116 ipaserver/plugins/role.py:150 +#: ipaserver/plugins/selinuxusermap.py:241 ipaserver/plugins/sudocmd.py:122 +#: ipaserver/plugins/sudocmdgroup.py:130 ipaserver/plugins/sudorule.py:227 +#: ipaserver/plugins/vault.py:578 +msgid "Description" msgstr "" -#: ipalib/plugins/baseuser.py:81 -msgid "Time now" +#: ipaserver/plugins/automember.py:255 +msgid "A description of this auto member rule" msgstr "" -#: ipalib/plugins/baseuser.py:102 -msgid "must be TRUE or FALSE" +#: ipaserver/plugins/automember.py:259 ipaserver/plugins/automember.py:583 +msgid "Default (fallback) Group" msgstr "" -#: ipalib/plugins/baseuser.py:214 ipalib/plugins/internal.py:590 -#: ipalib/plugins/internal.py:656 ipalib/plugins/pwpolicy.py:529 -#: ipalib/plugins/user.py:134 -msgid "User" +#: ipaserver/plugins/automember.py:260 +msgid "Default group for entries to land" msgstr "" -#: ipalib/plugins/baseuser.py:222 ipalib/plugins/idviews.py:838 -msgid "User login" +#: ipaserver/plugins/automember.py:272 +#, python-format +msgid "%(otype)s \"%(oname)s\" not found" msgstr "" -#: ipalib/plugins/baseuser.py:229 -msgid "First name" +#: ipaserver/plugins/automember.py:298 +#, python-format +msgid "%s is not a valid attribute." msgstr "" -#: ipalib/plugins/baseuser.py:233 -msgid "Last name" +#: ipaserver/plugins/automember.py:311 +msgid "" +"\n" +" Add an automember rule.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:236 -msgid "Full name" +#: ipaserver/plugins/automember.py:316 +#, python-format +msgid "Added automember rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/baseuser.py:241 -msgid "Display name" +#: ipaserver/plugins/automember.py:323 +msgid "Auto Membership is not configured" msgstr "" -#: ipalib/plugins/baseuser.py:246 -msgid "Initials" +#: ipaserver/plugins/automember.py:335 +msgid "" +"\n" +" Add conditions to an automember rule.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:252 ipalib/plugins/idviews.py:857 -msgid "Home directory" +#: ipaserver/plugins/automember.py:347 +#, python-format +msgid "Added condition(s) to \"%(value)s\"" msgstr "" -#: ipalib/plugins/baseuser.py:255 ipalib/plugins/idviews.py:848 -msgid "GECOS" +#: ipaserver/plugins/automember.py:356 +msgid "Conditions that could not be added" msgstr "" -#: ipalib/plugins/baseuser.py:261 ipalib/plugins/idviews.py:861 -msgid "Login shell" +#: ipaserver/plugins/automember.py:360 +msgid "Number of conditions added" msgstr "" -#: ipalib/plugins/baseuser.py:265 -msgid "Kerberos principal" +#: ipaserver/plugins/automember.py:370 ipaserver/plugins/automember.py:455 +#, python-format +msgid "Auto member rule: %s not found!" msgstr "" -#: ipalib/plugins/baseuser.py:273 -msgid "Kerberos principal expiration" +#: ipaserver/plugins/automember.py:412 +msgid "" +"\n" +" Override this so we can add completed and failed to the return " +"result.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:277 -msgid "Email address" +#: ipaserver/plugins/automember.py:427 +msgid "" +"\n" +" Remove conditions from an automember rule.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:282 -msgid "Prompt to set the user password" +#: ipaserver/plugins/automember.py:432 +#, python-format +msgid "Removed condition(s) from \"%(value)s\"" msgstr "" -#: ipalib/plugins/baseuser.py:288 -msgid "Generate a random user password" +#: ipaserver/plugins/automember.py:441 +msgid "Conditions that could not be removed" msgstr "" -#: ipalib/plugins/baseuser.py:293 ipalib/plugins/host.py:500 -msgid "Random password" +#: ipaserver/plugins/automember.py:445 +msgid "Number of conditions removed" msgstr "" -#: ipalib/plugins/baseuser.py:298 ipalib/plugins/idviews.py:843 -msgid "UID" +#: ipaserver/plugins/automember.py:499 +msgid "" +"\n" +" Override this so we can set completed and failed.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:299 -msgid "User ID Number (system will assign one if not provided)" +#: ipaserver/plugins/automember.py:514 +msgid "" +"\n" +" Modify an automember rule.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:303 ipalib/plugins/group.py:254 -#: ipalib/plugins/idviews.py:851 ipalib/plugins/idviews.py:930 -msgid "GID" +#: ipaserver/plugins/automember.py:519 +#, python-format +msgid "Modified automember rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/baseuser.py:304 ipalib/plugins/idviews.py:852 -#: ipalib/plugins/idviews.py:931 -msgid "Group ID Number" +#: ipaserver/plugins/automember.py:529 +msgid "" +"\n" +" Delete an automember rule.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:309 -msgid "Street address" +#: ipaserver/plugins/automember.py:534 +#, python-format +msgid "Deleted automember rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/baseuser.py:313 -msgid "City" +#: ipaserver/plugins/automember.py:544 +msgid "" +"\n" +" Search for automember rules.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:317 -msgid "State/Province" -msgstr "" +#: ipaserver/plugins/automember.py:550 +#, python-format +msgid "%(count)d rules matched" +msgid_plural "%(count)d rules matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/baseuser.py:320 -msgid "ZIP" +#: ipaserver/plugins/automember.py:562 +msgid "" +"\n" +" Display information about an automember rule.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:324 -msgid "Telephone Number" +#: ipaserver/plugins/automember.py:576 +msgid "" +"\n" +" Set default (fallback) group for all unmatched entries.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:327 -msgid "Mobile Telephone Number" +#: ipaserver/plugins/automember.py:584 +msgid "Default (fallback) group for entries to land" msgstr "" -#: ipalib/plugins/baseuser.py:330 -msgid "Pager Number" +#: ipaserver/plugins/automember.py:588 +#, python-format +msgid "Set default (fallback) group for automember \"%(value)s\"" msgstr "" -#: ipalib/plugins/baseuser.py:334 -msgid "Fax Number" +#: ipaserver/plugins/automember.py:604 +msgid "" +"\n" +" Remove default (fallback) group for all unmatched entries.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:338 -msgid "Org. Unit" +#: ipaserver/plugins/automember.py:609 +#, python-format +msgid "Removed default (fallback) group for automember \"%(value)s\"" msgstr "" -#: ipalib/plugins/baseuser.py:341 -msgid "Job Title" +#: ipaserver/plugins/automember.py:619 ipaserver/plugins/automember.py:627 +#: ipaserver/plugins/automember.py:651 +msgid "No default (fallback) group set" msgstr "" -#: ipalib/plugins/baseuser.py:345 ipalib/plugins/otptoken.py:182 -msgid "Manager" +#: ipaserver/plugins/automember.py:638 +msgid "" +"\n" +" Display information about the default (fallback) automember groups.\n" +" " msgstr "" -#: ipalib/plugins/baseuser.py:348 -msgid "Car License" +#: ipaserver/plugins/automember.py:665 +msgid "Task DN" msgstr "" -#: ipalib/plugins/baseuser.py:352 ipalib/plugins/host.py:523 -#: ipalib/plugins/idviews.py:868 -msgid "SSH public key" +#: ipaserver/plugins/automember.py:666 +msgid "DN of the started task" msgstr "" -#: ipalib/plugins/baseuser.py:359 -msgid "User authentication types" +#: ipaserver/plugins/automember.py:673 +msgid "Rebuild auto membership." msgstr "" -#: ipalib/plugins/baseuser.py:360 -msgid "Types of supported user authentication" +#: ipaserver/plugins/automember.py:683 +msgid "Rebuild membership for all members of a grouping" msgstr "" -#: ipalib/plugins/baseuser.py:366 ipalib/plugins/host.py:530 -msgid "Class" +#: ipaserver/plugins/automember.py:687 ipaserver/plugins/baseuser.py:212 +#: ipaserver/plugins/caacl.py:272 ipaserver/plugins/hbacrule.py:260 +#: ipaserver/plugins/internal.py:603 ipaserver/plugins/selinuxusermap.py:248 +#: ipaserver/plugins/sudorule.py:271 ipaserver/plugins/user.py:149 +msgid "Users" msgstr "" -#: ipalib/plugins/baseuser.py:367 -msgid "" -"User category (semantics placed on this attribute are for local " -"interpretation)" +#: ipaserver/plugins/automember.py:688 +msgid "Rebuild membership for specified users" msgstr "" -#: ipalib/plugins/baseuser.py:372 -msgid "RADIUS proxy configuration" +#: ipaserver/plugins/automember.py:692 ipaserver/plugins/caacl.py:280 +#: ipaserver/plugins/hbacrule.py:268 ipaserver/plugins/host.py:450 +#: ipaserver/plugins/internal.py:597 ipaserver/plugins/selinuxusermap.py:256 +#: ipaserver/plugins/sudorule.py:284 +msgid "Hosts" msgstr "" -#: ipalib/plugins/baseuser.py:376 -msgid "RADIUS proxy username" +#: ipaserver/plugins/automember.py:693 +msgid "Rebuild membership for specified hosts" msgstr "" -#: ipalib/plugins/baseuser.py:379 -msgid "Department Number" +#: ipaserver/plugins/automember.py:698 +msgid "No wait" msgstr "" -#: ipalib/plugins/baseuser.py:382 -msgid "Employee Number" +#: ipaserver/plugins/automember.py:699 +msgid "Don't wait for rebuilding membership" msgstr "" -#: ipalib/plugins/baseuser.py:385 -msgid "Employee Type" +#: ipaserver/plugins/automember.py:717 +msgid "at least one of options: type, users, hosts must be specified" msgstr "" -#: ipalib/plugins/baseuser.py:388 -msgid "Preferred Language" +#: ipaserver/plugins/automember.py:723 +msgid "users and hosts cannot both be set" msgstr "" -#: ipalib/plugins/baseuser.py:395 ipalib/plugins/cert.py:281 -#: ipalib/plugins/cert.py:571 ipalib/plugins/host.py:505 -#: ipalib/plugins/internal.py:371 ipalib/plugins/service.py:483 -msgid "Certificate" +#: ipaserver/plugins/automember.py:727 +msgid "hosts cannot be set when type is 'group'" msgstr "" -#: ipalib/plugins/baseuser.py:396 ipalib/plugins/host.py:506 -#: ipalib/plugins/service.py:484 -msgid "Base-64 encoded server certificate" +#: ipaserver/plugins/automember.py:731 +msgid "users cannot be set when type is 'hostgroup'" msgstr "" -#: ipalib/plugins/baseuser.py:415 ipalib/plugins/baseuser.py:419 -#, python-format -msgid "invalid e-mail format: %(email)s" +#: ipaserver/plugins/automember.py:785 +msgid "Automember rebuild membership task started" msgstr "" -#: ipalib/plugins/baseuser.py:446 -#, python-format -msgid "manager %(manager)s not found" +#: ipaserver/plugins/automember.py:789 ipaserver/plugins/internal.py:151 +msgid "Automember rebuild membership task completed" msgstr "" -#: ipalib/plugins/baseuser.py:527 ipalib/plugins/stageuser.py:314 -#: ipalib/plugins/stageuser.py:504 ipalib/plugins/user.py:458 +#: ipaserver/plugins/automember.py:806 #, python-format -msgid "can be at most %(len)d characters" +msgid "Task DN = '%s'" msgstr "" -#: ipalib/plugins/batch.py:71 -msgid "Nested Methods to execute" +#: ipaserver/plugins/automember.py:809 ipaserver/plugins/internal.py:836 +msgid "Automember" msgstr "" -#: ipalib/plugins/caacl.py:20 +#: ipaserver/plugins/automount.py:41 msgid "" "\n" -"Manage CA ACL rules.\n" +"Automount\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" +"Stores automount(8) configuration for autofs(8) in IPA.\n" "\n" -"PROFILE ID SYNTAX:\n" +"The base of an automount configuration is the configuration file auto." +"master.\n" +"This is also the base location in IPA. Multiple auto.master configurations\n" +"can be stored in separate locations. A location is implementation-specific\n" +"with the default being a location named 'default'. For example, you can " +"have\n" +"locations by geographic region, by floor, by type, etc.\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" +"Automount has three basic object types: locations, maps and keys.\n" +"\n" +"A location defines a set of maps anchored in auto.master. This allows you\n" +"to store multiple automount configurations. A location in itself isn't\n" +"very interesting, it is just a point to start a new automount map.\n" +"\n" +"A map is roughly equivalent to a discrete automount file and provides\n" +"storage for keys.\n" +"\n" +"A key is a mount point associated with a map.\n" +"\n" +"When a new location is created, two maps are automatically created for\n" +"it: auto.master and auto.direct. auto.master is the root map for all\n" +"automount maps for the location. auto.direct is the default map for\n" +"direct mounts and is mounted on /-.\n" +"\n" +"An automount map may contain a submount key. This key defines a mount\n" +"location within the map that references another map. This can be done\n" +"either using automountmap-add-indirect --parentmap or manually\n" +"with automountkey-add and setting info to \"-type=autofs :\".\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" +"Locations:\n" "\n" -" Display the properties of a named CA ACL:\n" -" ipa caacl-show test\n" +" Create a named location, \"Baltimore\":\n" +" ipa automountlocation-add baltimore\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" +" Display the new location:\n" +" ipa automountlocation-show baltimore\n" "\n" -" Disable a CA ACL:\n" -" ipa caacl-disable test\n" +" Find available locations:\n" +" ipa automountlocation-find\n" "\n" -" Remove a CA ACL:\n" -" ipa caacl-del test\n" -msgstr "" - -#: ipalib/plugins/caacl.py:136 ipalib/plugins/caacl.py:213 -#: ipalib/plugins/caacl.py:313 -msgid "CA ACL" +" Remove a named automount location:\n" +" ipa automountlocation-del baltimore\n" +"\n" +" Show what the automount maps would look like if they were in the " +"filesystem:\n" +" ipa automountlocation-tofiles baltimore\n" +"\n" +" Import an existing configuration into a location:\n" +" ipa automountlocation-import baltimore /etc/auto.master\n" +"\n" +" The import will fail if any duplicate entries are found. For\n" +" continuous operation where errors are ignored, use the --continue\n" +" option.\n" +"\n" +"Maps:\n" +"\n" +" Create a new map, \"auto.share\":\n" +" ipa automountmap-add baltimore auto.share\n" +"\n" +" Display the new map:\n" +" ipa automountmap-show baltimore auto.share\n" +"\n" +" Find maps in the location baltimore:\n" +" ipa automountmap-find baltimore\n" +"\n" +" Create an indirect map with auto.share as a submount:\n" +" ipa automountmap-add-indirect baltimore --parentmap=auto.share --" +"mount=sub auto.man\n" +"\n" +" This is equivalent to:\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" +" Remove the auto.share map:\n" +" ipa automountmap-del baltimore auto.share\n" +"\n" +"Keys:\n" +"\n" +" Create a new key for the auto.share map in location baltimore. This ties\n" +" the map we previously created to auto.master:\n" +" ipa automountkey-add baltimore auto.master --key=/share --info=auto." +"share\n" +"\n" +" Create a new key for our auto.share map, an NFS mount for man pages:\n" +" ipa automountkey-add baltimore auto.share --key=man --info=\"-ro,soft," +"rsize=8192,wsize=8192 ipa.example.com:/shared/man\"\n" +"\n" +" Find all keys for the auto.share map:\n" +" ipa automountkey-find baltimore auto.share\n" +"\n" +" Find all direct automount keys:\n" +" ipa automountkey-find baltimore --key=/-\n" +"\n" +" Remove the man key from the auto.share map:\n" +" ipa automountkey-del baltimore auto.share --key=man\n" msgstr "" -#: ipalib/plugins/caacl.py:137 ipalib/plugins/caacl.py:212 -msgid "CA ACLs" +#: ipaserver/plugins/automount.py:218 +msgid "automount location" msgstr "" -#: ipalib/plugins/caacl.py:218 -msgid "ACL name" +#: ipaserver/plugins/automount.py:219 +msgid "automount locations" msgstr "" -#: ipalib/plugins/caacl.py:226 ipalib/plugins/hbacrule.py:236 -#: ipalib/plugins/internal.py:805 ipalib/plugins/selinuxusermap.py:230 -#: ipalib/plugins/sudorule.py:230 -msgid "Enabled" +#: ipaserver/plugins/automount.py:222 +msgid "Automount Locations" msgstr "" -#: ipalib/plugins/caacl.py:238 -msgid "Profile category" +#: ipaserver/plugins/automount.py:223 +msgid "Automount Location" msgstr "" -#: ipalib/plugins/caacl.py:239 -msgid "Profile category the ACL applies to" +#: ipaserver/plugins/automount.py:252 ipaserver/plugins/host.py:472 +#: ipaserver/plugins/server.py:124 +msgid "Location" msgstr "" -#: ipalib/plugins/caacl.py:244 ipalib/plugins/hbacrule.py:210 -#: ipalib/plugins/netgroup.py:214 ipalib/plugins/selinuxusermap.py:215 -#: ipalib/plugins/sudorule.py:235 -msgid "User category" +#: ipaserver/plugins/automount.py:253 +msgid "Automount location name." msgstr "" -#: ipalib/plugins/caacl.py:245 -msgid "User category the ACL applies to" +#: ipaserver/plugins/automount.py:261 +msgid "Create a new automount location." msgstr "" -#: ipalib/plugins/caacl.py:250 ipalib/plugins/hbacrule.py:216 -#: ipalib/plugins/netgroup.py:220 ipalib/plugins/selinuxusermap.py:221 -#: ipalib/plugins/sudorule.py:241 -msgid "Host category" +#: ipaserver/plugins/automount.py:263 +#, python-format +msgid "Added automount location \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:251 -msgid "Host category the ACL applies to" +#: ipaserver/plugins/automount.py:281 +msgid "Delete an automount location." msgstr "" -#: ipalib/plugins/caacl.py:256 ipalib/plugins/hbacrule.py:223 -msgid "Service category" +#: ipaserver/plugins/automount.py:283 +#, python-format +msgid "Deleted automount location \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:257 -msgid "Service category the ACL applies to" +#: ipaserver/plugins/automount.py:288 +msgid "Display an automount location." msgstr "" -#: ipalib/plugins/caacl.py:266 ipalib/plugins/internal.py:359 -msgid "Profiles" +#: ipaserver/plugins/automount.py:293 +msgid "Search for an automount location." msgstr "" -#: ipalib/plugins/caacl.py:274 ipalib/plugins/group.py:234 -#: ipalib/plugins/hbacrule.py:244 ipalib/plugins/internal.py:591 -#: ipalib/plugins/selinuxusermap.py:238 ipalib/plugins/sudorule.py:275 -msgid "User Groups" -msgstr "" +#: ipaserver/plugins/automount.py:296 +#, python-format +msgid "%(count)d automount location matched" +msgid_plural "%(count)d automount locations matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/caacl.py:282 ipalib/plugins/hbacrule.py:252 -#: ipalib/plugins/hostgroup.py:147 ipalib/plugins/internal.py:585 -#: ipalib/plugins/selinuxusermap.py:246 ipalib/plugins/sudorule.py:288 -msgid "Host Groups" +#: ipaserver/plugins/automount.py:303 +msgid "Generate automount files for a specific location." msgstr "" -#: ipalib/plugins/caacl.py:286 ipalib/plugins/hbacrule.py:258 -#: ipalib/plugins/internal.py:504 ipalib/plugins/service.py:470 -msgid "Services" +#: ipaserver/plugins/automount.py:349 +msgid "automount map" msgstr "" -#: ipalib/plugins/caacl.py:294 -msgid "Create a new CA ACL." +#: ipaserver/plugins/automount.py:350 +msgid "automount maps" msgstr "" -#: ipalib/plugins/caacl.py:296 -#, python-format -msgid "Added CA ACL \"%(value)s\"" +#: ipaserver/plugins/automount.py:358 +msgid "Map" msgstr "" -#: ipalib/plugins/caacl.py:306 -msgid "Delete a CA ACL." +#: ipaserver/plugins/automount.py:359 +msgid "Automount map name." msgstr "" -#: ipalib/plugins/caacl.py:308 -#, python-format -msgid "Deleted CA ACL \"%(value)s\"" +#: ipaserver/plugins/automount.py:393 +msgid "Automount Maps" msgstr "" -#: ipalib/plugins/caacl.py:315 -msgid "default CA ACL can be only disabled" +#: ipaserver/plugins/automount.py:394 +msgid "Automount Map" msgstr "" -#: ipalib/plugins/caacl.py:321 -msgid "Modify a CA ACL." +#: ipaserver/plugins/automount.py:399 +msgid "Create a new automount map." msgstr "" -#: ipalib/plugins/caacl.py:323 +#: ipaserver/plugins/automount.py:401 #, python-format -msgid "Modified CA ACL \"%(value)s\"" +msgid "Added automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:341 -msgid "" -"profile category cannot be set to 'all' while there are allowed profiles" +#: ipaserver/plugins/automount.py:406 +msgid "Delete an automount map." msgstr "" -#: ipalib/plugins/caacl.py:345 ipalib/plugins/hbacrule.py:316 -#: ipalib/plugins/netgroup.py:287 -msgid "user category cannot be set to 'all' while there are allowed users" +#: ipaserver/plugins/automount.py:408 +#, python-format +msgid "Deleted automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:349 ipalib/plugins/hbacrule.py:318 -#: ipalib/plugins/netgroup.py:289 -msgid "host category cannot be set to 'all' while there are allowed hosts" +#: ipaserver/plugins/automount.py:426 +msgid "Modify an automount map." msgstr "" -#: ipalib/plugins/caacl.py:353 ipalib/plugins/hbacrule.py:320 -msgid "" -"service category cannot be set to 'all' while there are allowed services" +#: ipaserver/plugins/automount.py:428 +#, python-format +msgid "Modified automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:360 -msgid "Search for CA ACLs." +#: ipaserver/plugins/automount.py:433 +msgid "Search for an automount map." msgstr "" -#: ipalib/plugins/caacl.py:363 +#: ipaserver/plugins/automount.py:436 #, python-format -msgid "%(count)d CA ACL matched" -msgid_plural "%(count)d CA ACLs matched" +msgid "%(count)d automount map matched" +msgid_plural "%(count)d automount maps matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/caacl.py:369 -msgid "Display the properties of a CA ACL." +#: ipaserver/plugins/automount.py:443 +msgid "Display an automount map." msgstr "" -#: ipalib/plugins/caacl.py:374 -msgid "Enable a CA ACL." +#: ipaserver/plugins/automount.py:448 +msgid "Automount key object." msgstr "" -#: ipalib/plugins/caacl.py:376 -#, python-format -msgid "Enabled CA ACL \"%(value)s\"" +#: ipaserver/plugins/automount.py:452 +msgid "automount key" msgstr "" -#: ipalib/plugins/caacl.py:403 -msgid "Disable a CA ACL." +#: ipaserver/plugins/automount.py:453 +msgid "automount keys" msgstr "" -#: ipalib/plugins/caacl.py:405 -#, python-format -msgid "Disabled CA ACL \"%(value)s\"" +#: ipaserver/plugins/automount.py:465 ipaserver/plugins/automount.py:712 +#: ipaserver/plugins/automount.py:819 ipaserver/plugins/otptoken.py:217 +msgid "Key" msgstr "" -#: ipalib/plugins/caacl.py:432 -msgid "Add users and groups to a CA ACL." +#: ipaserver/plugins/automount.py:466 ipaserver/plugins/automount.py:713 +#: ipaserver/plugins/automount.py:820 +msgid "Automount key name." msgstr "" -#: ipalib/plugins/caacl.py:436 -#, python-format -msgid "%i user or group added." +#: ipaserver/plugins/automount.py:471 ipaserver/plugins/automount.py:717 +#: ipaserver/plugins/automount.py:824 +msgid "Mount information" msgstr "" -#: ipalib/plugins/caacl.py:437 -#, python-format -msgid "%i users or groups added." +#: ipaserver/plugins/automount.py:474 +msgid "description" msgstr "" -#: ipalib/plugins/caacl.py:448 ipalib/plugins/hbacrule.py:499 -#: ipalib/plugins/selinuxusermap.py:509 ipalib/plugins/sudorule.py:594 -msgid "users cannot be added when user category='all'" +#: ipaserver/plugins/automount.py:512 +msgid "Automount Keys" msgstr "" -#: ipalib/plugins/caacl.py:454 -msgid "Remove users and groups from a CA ACL." +#: ipaserver/plugins/automount.py:513 +msgid "Automount Key" msgstr "" -#: ipalib/plugins/caacl.py:458 +#: ipaserver/plugins/automount.py:514 #, python-format -msgid "%i user or group removed." +msgid "" +"The key,info pair must be unique. A key named %(key)s with info %(info)s " +"already exists" msgstr "" -#: ipalib/plugins/caacl.py:459 +#: ipaserver/plugins/automount.py:515 #, python-format -msgid "%i users or groups removed." -msgstr "" - -#: ipalib/plugins/caacl.py:464 -msgid "Add target hosts and hostgroups to a CA ACL." +msgid "key named %(key)s already exists" msgstr "" -#: ipalib/plugins/caacl.py:468 +#: ipaserver/plugins/automount.py:516 #, python-format -msgid "%i host or hostgroup added." +msgid "The automount key %(key)s with info %(info)s does not exist" msgstr "" -#: ipalib/plugins/caacl.py:469 +#: ipaserver/plugins/automount.py:566 #, python-format -msgid "%i hosts or hostgroups added." +msgid "" +"More than one entry with key %(key)s found, use --info to select specific " +"entry." msgstr "" -#: ipalib/plugins/caacl.py:480 ipalib/plugins/hbacrule.py:530 -#: ipalib/plugins/selinuxusermap.py:542 ipalib/plugins/sudorule.py:648 -msgid "hosts cannot be added when host category='all'" +#: ipaserver/plugins/automount.py:623 +msgid "Create a new automount key." msgstr "" -#: ipalib/plugins/caacl.py:486 -msgid "Remove target hosts and hostgroups from a CA ACL." +#: ipaserver/plugins/automount.py:625 +#, python-format +msgid "Added automount key \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:490 -#, python-format -msgid "%i host or hostgroup removed." +#: ipaserver/plugins/automount.py:652 +msgid "Create a new indirect mount point." msgstr "" -#: ipalib/plugins/caacl.py:491 +#: ipaserver/plugins/automount.py:654 #, python-format -msgid "%i hosts or hostgroups removed." +msgid "Added automount indirect map \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:496 -msgid "Add services to a CA ACL." +#: ipaserver/plugins/automount.py:659 +msgid "Mount point" msgstr "" -#: ipalib/plugins/caacl.py:499 -#, python-format -msgid "%i service added." +#: ipaserver/plugins/automount.py:663 +msgid "Parent map" msgstr "" -#: ipalib/plugins/caacl.py:499 -#, python-format -msgid "%i services added." +#: ipaserver/plugins/automount.py:664 +msgid "Name of parent automount map (default: auto.master)." msgstr "" -#: ipalib/plugins/caacl.py:510 ipalib/plugins/hbacrule.py:585 -msgid "services cannot be added when service category='all'" +#: ipaserver/plugins/automount.py:678 +msgid "mount point is relative to parent map, cannot begin with /" msgstr "" -#: ipalib/plugins/caacl.py:516 -msgid "Remove services from a CA ACL." +#: ipaserver/plugins/automount.py:705 +msgid "Delete an automount key." msgstr "" -#: ipalib/plugins/caacl.py:519 +#: ipaserver/plugins/automount.py:707 #, python-format -msgid "%i service removed." +msgid "Deleted automount key \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/automount.py:746 +msgid "Modify an automount key." msgstr "" -#: ipalib/plugins/caacl.py:519 +#: ipaserver/plugins/automount.py:748 #, python-format -msgid "%i services removed." +msgid "Modified automount key \"%(value)s\"" msgstr "" -#: ipalib/plugins/caacl.py:524 -msgid "Failed profiles" +#: ipaserver/plugins/automount.py:755 +msgid "New mount information" msgstr "" -#: ipalib/plugins/caacl.py:535 -msgid "Add profiles to a CA ACL." +#: ipaserver/plugins/automount.py:804 +msgid "Search for an automount key." msgstr "" -#: ipalib/plugins/caacl.py:540 +#: ipaserver/plugins/automount.py:807 #, python-format -msgid "%i profile added." +msgid "%(count)d automount key matched" +msgid_plural "%(count)d automount keys matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/automount.py:814 +msgid "Display an automount key." msgstr "" -#: ipalib/plugins/caacl.py:540 -#, python-format -msgid "%i profiles added." +#: ipaserver/plugins/baseldap.py:55 +msgid "Member users" msgstr "" -#: ipalib/plugins/caacl.py:551 -msgid "profiles cannot be added when profile category='all'" +#: ipaserver/plugins/baseldap.py:58 +msgid "Member groups" msgstr "" -#: ipalib/plugins/caacl.py:557 -msgid "Remove profiles from a CA ACL." +#: ipaserver/plugins/baseldap.py:61 +msgid "Member of groups" msgstr "" -#: ipalib/plugins/caacl.py:562 -#, python-format -msgid "%i profile removed." +#: ipaserver/plugins/baseldap.py:64 +msgid "Member hosts" msgstr "" -#: ipalib/plugins/caacl.py:562 -#, python-format -msgid "%i profiles removed." +#: ipaserver/plugins/baseldap.py:67 +msgid "Member host-groups" msgstr "" -#: ipalib/plugins/cert.py:54 -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" -"\n" +#: ipaserver/plugins/baseldap.py:70 +msgid "Member of host-groups" msgstr "" -#: ipalib/plugins/cert.py:164 ipalib/plugins/cert.py:375 -#, python-format -msgid "Failure decoding Certificate Signing Request: %s" +#: ipaserver/plugins/baseldap.py:79 ipaserver/plugins/role.py:139 +msgid "Roles" msgstr "" -#: ipalib/plugins/cert.py:228 ipalib/plugins/certprofile.py:89 -msgid "CA is not configured" +#: ipaserver/plugins/baseldap.py:82 ipaserver/plugins/sudocmdgroup.py:118 +#: ipaserver/plugins/sudocmdgroup.py:138 +msgid "Sudo Command Groups" msgstr "" -#: ipalib/plugins/cert.py:236 -#, python-format -msgid "" -"Principal '%(principal)s' is not permitted to use CA '%(ca)s' with profile " -"'%(profile_id)s' for certificate issuance." +#: ipaserver/plugins/baseldap.py:88 +msgid "Granting privilege to roles" msgstr "" -#: ipalib/plugins/cert.py:248 -msgid "Submit a certificate signing request." +#: ipaserver/plugins/baseldap.py:91 +msgid "Member netgroups" msgstr "" -#: ipalib/plugins/cert.py:252 -msgid "CSR" +#: ipaserver/plugins/baseldap.py:94 +msgid "Member of netgroups" msgstr "" -#: ipalib/plugins/cert.py:261 ipalib/plugins/service.py:476 -msgid "Principal" +#: ipaserver/plugins/baseldap.py:97 +msgid "Member services" msgstr "" -#: ipalib/plugins/cert.py:262 -msgid "Principal for this certificate (e.g. HTTP/test.example.com)" +#: ipaserver/plugins/baseldap.py:100 +msgid "Member service groups" msgstr "" -#: ipalib/plugins/cert.py:269 -msgid "automatically add the principal if it doesn't exist" +#: ipaserver/plugins/baseldap.py:106 +msgid "Member HBAC service" msgstr "" -#: ipalib/plugins/cert.py:274 ipalib/plugins/certprofile.py:125 -msgid "Profile ID" +#: ipaserver/plugins/baseldap.py:109 +msgid "Member HBAC service groups" msgstr "" -#: ipalib/plugins/cert.py:275 -msgid "Certificate Profile to use" +#: ipaserver/plugins/baseldap.py:124 +msgid "Indirect Member users" msgstr "" -#: ipalib/plugins/cert.py:284 ipalib/plugins/cert.py:574 -#: ipalib/plugins/cert.py:731 ipalib/plugins/cert.py:732 -#: ipalib/plugins/host.py:194 ipalib/plugins/internal.py:384 -#: ipalib/plugins/service.py:113 -msgid "Subject" +#: ipaserver/plugins/baseldap.py:127 +msgid "Indirect Member groups" msgstr "" -#: ipalib/plugins/cert.py:287 ipalib/plugins/cert.py:577 -#: ipalib/plugins/host.py:203 ipalib/plugins/service.py:122 -msgid "Issuer" +#: ipaserver/plugins/baseldap.py:130 +msgid "Indirect Member hosts" msgstr "" -#: ipalib/plugins/cert.py:290 ipalib/plugins/cert.py:580 -#: ipalib/plugins/host.py:206 ipalib/plugins/service.py:125 -msgid "Not Before" +#: ipaserver/plugins/baseldap.py:133 +msgid "Indirect Member host-groups" msgstr "" -#: ipalib/plugins/cert.py:293 ipalib/plugins/cert.py:583 -#: ipalib/plugins/host.py:209 ipalib/plugins/service.py:128 -msgid "Not After" +#: ipaserver/plugins/baseldap.py:136 +msgid "Indirect Member of roles" msgstr "" -#: ipalib/plugins/cert.py:296 ipalib/plugins/cert.py:586 -#: ipalib/plugins/host.py:212 ipalib/plugins/service.py:131 -msgid "Fingerprint (MD5)" +#: ipaserver/plugins/baseldap.py:139 +msgid "Indirect Member permissions" msgstr "" -#: ipalib/plugins/cert.py:299 ipalib/plugins/cert.py:589 -#: ipalib/plugins/host.py:215 ipalib/plugins/service.py:134 -msgid "Fingerprint (SHA1)" +#: ipaserver/plugins/baseldap.py:142 +msgid "Indirect Member HBAC service" msgstr "" -#: ipalib/plugins/cert.py:302 ipalib/plugins/cert.py:558 -#: ipalib/plugins/cert.py:805 -msgid "Serial number" +#: ipaserver/plugins/baseldap.py:145 +msgid "Indirect Member HBAC service group" msgstr "" -#: ipalib/plugins/cert.py:305 ipalib/plugins/cert.py:595 -#: ipalib/plugins/cert.py:802 -msgid "Serial number (hex)" +#: ipaserver/plugins/baseldap.py:148 +msgid "Indirect Member netgroups" msgstr "" -#: ipalib/plugins/cert.py:312 ipalib/plugins/misc.py:61 -msgid "Dictionary mapping variable name to value" +#: ipaserver/plugins/baseldap.py:206 +msgid "Invalid format. Should be name=value" msgstr "" -#: ipalib/plugins/cert.py:398 -msgid "The principal for this request doesn't exist." +#: ipaserver/plugins/baseldap.py:325 +msgid "External host" msgstr "" -#: ipalib/plugins/cert.py:406 -msgid "No Common Name was found in subject of request." +#: ipaserver/plugins/baseldap.py:502 +msgid "An IPA master host cannot be deleted or disabled" msgstr "" -#: ipalib/plugins/cert.py:411 -#, python-format -msgid "" -"hostname in subject of request '%(cn)s' does not match principal hostname " -"'%(hostname)s'" +#: ipaserver/plugins/baseldap.py:533 +msgid "entry" msgstr "" -#: ipalib/plugins/cert.py:419 -msgid "DN commonName does not match user's login" +#: ipaserver/plugins/baseldap.py:534 +msgid "entries" msgstr "" -#: ipalib/plugins/cert.py:428 -msgid "DN emailAddress does not match any of user's email addresses" +#: ipaserver/plugins/baseldap.py:567 ipaserver/plugins/baseldap.py:568 +msgid "Entry" msgstr "" -#: ipalib/plugins/cert.py:434 +#: ipaserver/plugins/baseldap.py:571 #, python-format -msgid "" -"Insufficient 'write' privilege to the 'userCertificate' attribute of entry " -"'%s'." +msgid "container entry (%(container)s) not found" msgstr "" -#: ipalib/plugins/cert.py:454 +#: ipaserver/plugins/baseldap.py:572 #, python-format -msgid "subject alt name type %s is forbidden for user principals" +msgid "%(parent)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/cert.py:461 +#: ipaserver/plugins/baseldap.py:573 ipaserver/plugins/schema.py:231 +#: ipaserver/plugins/schema.py:299 ipaserver/plugins/schema.py:373 +#: ipaserver/plugins/schema.py:586 ipaserver/plugins/schema.py:669 #, python-format -msgid "" -"The service principal for subject alt name %s in certificate request does " -"not exist" +msgid "%(pkey)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/cert.py:468 +#: ipaserver/plugins/baseldap.py:574 #, python-format -msgid "" -"Insufficient privilege to create a certificate with subject alt name '%s'." +msgid "%(oname)s with name \"%(pkey)s\" already exists" msgstr "" -#: ipalib/plugins/cert.py:477 +#: ipaserver/plugins/baseldap.py:851 ipaserver/plugins/baseldap.py:859 +#: ipaserver/plugins/baseldap.py:864 #, python-format -msgid "Principal '%s' in subject alt name does not match requested principal" -msgstr "" - -#: ipalib/plugins/cert.py:485 -msgid "RFC822Name does not match any of user's email addresses" +msgid "attribute \"%(attribute)s\" not allowed" msgstr "" -#: ipalib/plugins/cert.py:491 -#, python-format -msgid "subject alt name type %s is forbidden for non-user principals" +#: ipaserver/plugins/baseldap.py:874 +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/cert.py:496 -#, python-format -msgid "Subject alt name type %s is forbidden" +#: ipaserver/plugins/baseldap.py:880 +msgid "" +"Add an attribute/value pair. Format is attr=value. The attribute\n" +"must be part of the schema." msgstr "" -#: ipalib/plugins/cert.py:531 -msgid "Check the status of a certificate signing request." +#: ipaserver/plugins/baseldap.py:886 +msgid "" +"Delete an attribute/value pair. The option will be evaluated\n" +"last, after all sets and adds." msgstr "" -#: ipalib/plugins/cert.py:535 -msgid "Request id" +#: ipaserver/plugins/baseldap.py:922 +msgid "attribute is not configurable" msgstr "" -#: ipalib/plugins/cert.py:541 -msgid "Request status" +#: ipaserver/plugins/baseldap.py:1025 +msgid "No such attribute on this entry" msgstr "" -#: ipalib/plugins/cert.py:559 -msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" +#: ipaserver/plugins/baseldap.py:1118 ipaserver/plugins/cert.py:703 +msgid "Suppress processing of membership attributes." msgstr "" -#: ipalib/plugins/cert.py:565 -msgid "Retrieve an existing certificate." +#: ipaserver/plugins/baseldap.py:1272 +msgid "Continuous mode: Don't stop on errors." msgstr "" -#: ipalib/plugins/cert.py:592 ipalib/plugins/host.py:218 -#: ipalib/plugins/internal.py:381 ipalib/plugins/internal.py:413 -#: ipalib/plugins/service.py:137 -msgid "Revocation reason" +#: ipaserver/plugins/baseldap.py:1293 ipaserver/plugins/baseldap.py:1368 +msgid "Rights" msgstr "" -#: ipalib/plugins/cert.py:601 -msgid "Output filename" +#: ipaserver/plugins/baseldap.py:1294 ipaserver/plugins/baseldap.py:1369 +msgid "" +"Display the access rights of this entry (requires --all). See ipa man page " +"for details." msgstr "" -#: ipalib/plugins/cert.py:602 -msgid "File to store the certificate in." +#: ipaserver/plugins/baseldap.py:1378 +msgid "Rename" msgstr "" -#: ipalib/plugins/cert.py:654 -msgid "Revoke a certificate." +#: ipaserver/plugins/baseldap.py:1379 +#, python-format +msgid "Rename the %(ldap_obj_name)s object" msgstr "" -#: ipalib/plugins/cert.py:660 -msgid "Revoked" +#: ipaserver/plugins/baseldap.py:1469 ipaserver/plugins/baseldap.py:2324 +msgid "the entry was deleted while being modified" msgstr "" -#: ipalib/plugins/cert.py:668 ipalib/plugins/cert.py:736 -msgid "Reason" +#: ipaserver/plugins/baseldap.py:1600 ipaserver/plugins/baseldap.py:2076 +#, python-format +msgid "%s" msgstr "" -#: ipalib/plugins/cert.py:669 ipalib/plugins/cert.py:737 -msgid "Reason for revoking the certificate (0-10)" +#: ipaserver/plugins/baseldap.py:1601 +#: ipaserver/plugins/servicedelegation.py:198 +#: ipaserver/plugins/servicedelegation.py:281 +#, python-format +msgid "member %s" msgstr "" -#: ipalib/plugins/cert.py:692 -msgid "7 is not a valid revocation reason" +#: ipaserver/plugins/baseldap.py:1643 ipaserver/plugins/baseldap.py:2100 +#, python-format +msgid "%s to add" msgstr "" -#: ipalib/plugins/cert.py:702 -msgid "Take a revoked certificate off hold." +#: ipaserver/plugins/baseldap.py:1651 ipaserver/plugins/baseldap.py:2112 +#: ipaserver/plugins/privilege.py:214 ipaserver/plugins/privilege.py:245 +#: ipaserver/plugins/role.py:222 ipaserver/plugins/role.py:245 +msgid "Members that could not be added" msgstr "" -#: ipalib/plugins/cert.py:708 -msgid "Unrevoked" +#: ipaserver/plugins/baseldap.py:1655 ipaserver/plugins/baseldap.py:2116 +msgid "Number of members added" msgstr "" -#: ipalib/plugins/cert.py:711 ipalib/plugins/internal.py:278 -msgid "Error" +#: ipaserver/plugins/baseldap.py:1742 ipaserver/plugins/baseldap.py:2191 +#, python-format +msgid "%s to remove" msgstr "" -#: ipalib/plugins/cert.py:727 -msgid "Search for existing certificates." +#: ipaserver/plugins/baseldap.py:1749 ipaserver/plugins/baseldap.py:2203 +msgid "Members that could not be removed" msgstr "" -#: ipalib/plugins/cert.py:743 -msgid "minimum serial number" +#: ipaserver/plugins/baseldap.py:1753 ipaserver/plugins/baseldap.py:2207 +msgid "Number of members removed" msgstr "" -#: ipalib/plugins/cert.py:749 -msgid "maximum serial number" +#: ipaserver/plugins/baseldap.py:1841 ipaserver/plugins/cert.py:922 +#: ipaserver/plugins/schema.py:115 +msgid "Primary key only" msgstr "" -#: ipalib/plugins/cert.py:755 -msgid "match the common name exactly" +#: ipaserver/plugins/baseldap.py:1842 ipaserver/plugins/schema.py:116 +#, python-format +msgid "Results should contain primary key attribute only (\"%s\")" msgstr "" -#: ipalib/plugins/cert.py:759 -msgid "Valid not after from this date (YYYY-mm-dd)" +#: ipaserver/plugins/baseldap.py:1850 +#, python-format +msgid "" +"Search for %(searched_object)s with these %(relationship)s %(ldap_object)s." msgstr "" -#: ipalib/plugins/cert.py:763 -msgid "Valid not after to this date (YYYY-mm-dd)" +#: ipaserver/plugins/baseldap.py:1851 +#, python-format +msgid "" +"Search for %(searched_object)s without these %(relationship)s " +"%(ldap_object)s." msgstr "" -#: ipalib/plugins/cert.py:767 -msgid "Valid not before from this date (YYYY-mm-dd)" +#: ipaserver/plugins/baseldap.py:1860 ipaserver/plugins/cert.py:927 +#: ipaserver/plugins/serverrole.py:118 +msgid "Time Limit" msgstr "" -#: ipalib/plugins/cert.py:771 -msgid "Valid not before to this date (YYYY-mm-dd)" +#: ipaserver/plugins/baseldap.py:1861 ipaserver/plugins/cert.py:928 +#: ipaserver/plugins/serverrole.py:119 +msgid "Time limit of search in seconds (0 is unlimited)" msgstr "" -#: ipalib/plugins/cert.py:775 -msgid "Issued on from this date (YYYY-mm-dd)" +#: ipaserver/plugins/baseldap.py:1867 ipaserver/plugins/cert.py:932 +#: ipaserver/plugins/hbactest.py:295 ipaserver/plugins/serverrole.py:126 +msgid "Size Limit" msgstr "" -#: ipalib/plugins/cert.py:779 -msgid "Issued on to this date (YYYY-mm-dd)" +#: ipaserver/plugins/baseldap.py:1868 ipaserver/plugins/cert.py:933 +#: ipaserver/plugins/serverrole.py:127 +msgid "Maximum number of entries returned (0 is unlimited)" msgstr "" -#: ipalib/plugins/cert.py:783 -msgid "Revoked on from this date (YYYY-mm-dd)" +#: ipaserver/plugins/baseldap.py:2355 +msgid "added attribute value to entry %(value)" msgstr "" -#: ipalib/plugins/cert.py:787 -msgid "Revoked on to this date (YYYY-mm-dd)" +#: ipaserver/plugins/baseldap.py:2364 +#, python-format +msgid "'%s' already contains one or more values" msgstr "" -#: ipalib/plugins/cert.py:792 -msgid "Maximum number of certs returned" +#: ipaserver/plugins/baseldap.py:2372 +msgid "removed attribute values from entry %(value)" msgstr "" -#: ipalib/plugins/cert.py:808 ipalib/plugins/internal.py:421 -#: ipalib/plugins/internal.py:539 ipalib/plugins/internal.py:666 -#: ipalib/plugins/internal.py:806 -msgid "Status" +#: ipaserver/plugins/baseldap.py:2381 +msgid "one or more values to remove" msgstr "" -#: ipalib/plugins/cert.py:813 -#, python-format -msgid "%(count)d certificate matched" -msgid_plural "%(count)d certificates matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/certprofile.py:24 +#: ipaserver/plugins/baseuser.py:47 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 --desc \"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" -" Save profile configuration to a file:\n" -" ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg\n" -"\n" -" Search for profiles that do not store certificates:\n" -" ipa certprofile-find --store=false\n" -"\n" -"PROFILE CONFIGURATION FORMAT:\n" -"\n" -"The profile configuration format is the raw property-list format\n" -"used by Dogtag Certificate System. The XML format is not supported.\n" -"\n" -"The following restrictions apply to profiles managed by FreeIPA:\n" -"\n" -"- When importing a profile the \"profileId\" field, if present, must\n" -" match the ID given on the command line.\n" -"\n" -"- The \"classId\" field must be set to \"caEnrollImpl\"\n" -"\n" -"- The \"auth.instance_id\" field must be set to \"raCertAuth\"\n" -"\n" -"- The \"certReqInputImpl\" input class and \"certOutputImpl\" output\n" -" class must be used.\n" +"Baseuser\n" "\n" +"This contains common definitions for user/stageuser\n" msgstr "" -#: ipalib/plugins/certprofile.py:98 -msgid "invalid Profile ID" +#: ipaserver/plugins/baseuser.py:59 +msgid "Kerberos keys available" msgstr "" -#: ipalib/plugins/certprofile.py:109 ipalib/plugins/certprofile.py:119 -msgid "Certificate Profile" +#: ipaserver/plugins/baseuser.py:62 ipaserver/plugins/host.py:231 +msgid "SSH public key fingerprint" msgstr "" -#: ipalib/plugins/certprofile.py:110 ipalib/plugins/certprofile.py:118 -msgid "Certificate Profiles" +#: ipaserver/plugins/baseuser.py:68 ipaserver/plugins/radiusproxy.py:121 +msgid "Server" msgstr "" -#: ipalib/plugins/certprofile.py:126 -msgid "Profile ID for referring to this profile" +#: ipaserver/plugins/baseuser.py:71 +msgid "Failed logins" msgstr "" -#: ipalib/plugins/certprofile.py:131 -msgid "Profile description" +#: ipaserver/plugins/baseuser.py:74 +msgid "Last successful authentication" msgstr "" -#: ipalib/plugins/certprofile.py:132 -msgid "Brief description of this profile" +#: ipaserver/plugins/baseuser.py:77 +msgid "Last failed authentication" msgstr "" -#: ipalib/plugins/certprofile.py:137 -msgid "Store issued certificates" +#: ipaserver/plugins/baseuser.py:80 +msgid "Time now" msgstr "" -#: ipalib/plugins/certprofile.py:138 -msgid "Whether to store certs issued using this profile" +#: ipaserver/plugins/baseuser.py:101 +msgid "must be TRUE or FALSE" msgstr "" -#: ipalib/plugins/certprofile.py:187 -msgid "Search for Certificate Profiles." +#: ipaserver/plugins/baseuser.py:213 ipaserver/plugins/internal.py:601 +#: ipaserver/plugins/internal.py:667 ipaserver/plugins/pwpolicy.py:539 +#: ipaserver/plugins/user.py:150 +msgid "User" msgstr "" -#: ipalib/plugins/certprofile.py:189 -#, python-format -msgid "%(count)d profile matched" -msgid_plural "%(count)d profiles matched" -msgstr[0] "" -msgstr[1] "" +#: ipaserver/plugins/baseuser.py:221 ipaserver/plugins/idviews.py:845 +msgid "User login" +msgstr "" -#: ipalib/plugins/certprofile.py:199 -msgid "Display the properties of a Certificate Profile." +#: ipaserver/plugins/baseuser.py:228 +msgid "First name" msgstr "" -#: ipalib/plugins/certprofile.py:203 -msgid "Profile configuration" +#: ipaserver/plugins/baseuser.py:232 +msgid "Last name" msgstr "" -#: ipalib/plugins/certprofile.py:209 -msgid "Write profile configuration to file" +#: ipaserver/plugins/baseuser.py:235 +msgid "Full name" msgstr "" -#: ipalib/plugins/certprofile.py:232 -#, python-format -msgid "Profile configuration stored in file '%(file)s'" +#: ipaserver/plugins/baseuser.py:240 +msgid "Display name" msgstr "" -#: ipalib/plugins/certprofile.py:241 -msgid "Import a Certificate Profile." +#: ipaserver/plugins/baseuser.py:245 +msgid "Initials" msgstr "" -#: ipalib/plugins/certprofile.py:242 -#, python-format -msgid "Imported profile \"%(value)s\"" +#: ipaserver/plugins/baseuser.py:251 ipaserver/plugins/idviews.py:864 +msgid "Home directory" msgstr "" -#: ipalib/plugins/certprofile.py:245 -msgid "Filename of a raw profile. The XML format is not supported." +#: ipaserver/plugins/baseuser.py:254 ipaserver/plugins/idviews.py:855 +msgid "GECOS" msgstr "" -#: ipalib/plugins/certprofile.py:263 -#, python-format -msgid "Profile ID '%(cli_value)s' does not match profile data '%(file_value)s'" +#: ipaserver/plugins/baseuser.py:260 ipaserver/plugins/idviews.py:868 +msgid "Login shell" msgstr "" -#: ipalib/plugins/certprofile.py:288 -msgid "Delete a Certificate Profile." +#: ipaserver/plugins/baseuser.py:264 +msgid "Kerberos principal" msgstr "" -#: ipalib/plugins/certprofile.py:289 -#, python-format -msgid "Deleted profile \"%(value)s\"" +#: ipaserver/plugins/baseuser.py:272 +msgid "Kerberos principal expiration" msgstr "" -#: ipalib/plugins/certprofile.py:296 -#, python-format -msgid "Predefined profile '%(profile_id)s' cannot be deleted" +#: ipaserver/plugins/baseuser.py:276 +msgid "Email address" msgstr "" -#: ipalib/plugins/certprofile.py:311 -msgid "Modify Certificate Profile configuration." +#: ipaserver/plugins/baseuser.py:281 +msgid "Prompt to set the user password" msgstr "" -#: ipalib/plugins/certprofile.py:312 -#, python-format -msgid "Modified Certificate Profile \"%(value)s\"" +#: ipaserver/plugins/baseuser.py:287 +msgid "Generate a random user password" msgstr "" -#: ipalib/plugins/certprofile.py:316 -msgid "File containing profile configuration" +#: ipaserver/plugins/baseuser.py:292 ipaserver/plugins/host.py:496 +msgid "Random password" msgstr "" -#: ipalib/plugins/certprofile.py:327 -msgid "Certificate profiles cannot be renamed" +#: ipaserver/plugins/baseuser.py:297 ipaserver/plugins/idviews.py:850 +msgid "UID" msgstr "" -#: 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" +#: ipaserver/plugins/baseuser.py:298 +msgid "User ID Number (system will assign one if not provided)" msgstr "" -#: ipalib/plugins/config.py:86 -msgid "configuration options" +#: ipaserver/plugins/baseuser.py:302 ipaserver/plugins/group.py:278 +#: ipaserver/plugins/idviews.py:858 ipaserver/plugins/idviews.py:953 +msgid "GID" msgstr "" -#: ipalib/plugins/config.py:119 ipalib/plugins/config.py:120 -msgid "Configuration" +#: ipaserver/plugins/baseuser.py:303 ipaserver/plugins/idviews.py:859 +#: ipaserver/plugins/idviews.py:954 +msgid "Group ID Number" msgstr "" -#: ipalib/plugins/config.py:125 -msgid "Maximum username length" +#: ipaserver/plugins/baseuser.py:308 +msgid "Street address" msgstr "" -#: ipalib/plugins/config.py:130 -msgid "Home directory base" +#: ipaserver/plugins/baseuser.py:312 +msgid "City" msgstr "" -#: ipalib/plugins/config.py:131 -msgid "Default location of home directories" +#: ipaserver/plugins/baseuser.py:316 +msgid "State/Province" msgstr "" -#: ipalib/plugins/config.py:135 -msgid "Default shell" +#: ipaserver/plugins/baseuser.py:319 +msgid "ZIP" msgstr "" -#: ipalib/plugins/config.py:136 -msgid "Default shell for new users" +#: ipaserver/plugins/baseuser.py:323 +msgid "Telephone Number" msgstr "" -#: ipalib/plugins/config.py:140 -msgid "Default users group" +#: ipaserver/plugins/baseuser.py:326 +msgid "Mobile Telephone Number" msgstr "" -#: ipalib/plugins/config.py:141 -msgid "Default group for new users" +#: ipaserver/plugins/baseuser.py:329 +msgid "Pager Number" msgstr "" -#: ipalib/plugins/config.py:145 ipalib/plugins/config.py:146 -msgid "Default e-mail domain" +#: ipaserver/plugins/baseuser.py:333 +msgid "Fax Number" msgstr "" -#: ipalib/plugins/config.py:150 -msgid "Search time limit" +#: ipaserver/plugins/baseuser.py:337 +msgid "Org. Unit" msgstr "" -#: ipalib/plugins/config.py:151 -msgid "Maximum amount of time (seconds) for a search (-1 or 0 is unlimited)" +#: ipaserver/plugins/baseuser.py:340 +msgid "Job Title" msgstr "" -#: ipalib/plugins/config.py:156 -msgid "Search size limit" +#: ipaserver/plugins/baseuser.py:344 ipaserver/plugins/otptoken.py:181 +msgid "Manager" msgstr "" -#: ipalib/plugins/config.py:157 -msgid "Maximum number of records to search (-1 or 0 is unlimited)" +#: ipaserver/plugins/baseuser.py:347 +msgid "Car License" msgstr "" -#: ipalib/plugins/config.py:162 -msgid "User search fields" +#: ipaserver/plugins/baseuser.py:351 ipaserver/plugins/host.py:518 +#: ipaserver/plugins/idviews.py:875 +msgid "SSH public key" msgstr "" -#: ipalib/plugins/config.py:163 -msgid "A comma-separated list of fields to search in when searching for users" +#: ipaserver/plugins/baseuser.py:357 +msgid "User authentication types" msgstr "" -#: ipalib/plugins/config.py:168 -msgid "A comma-separated list of fields to search in when searching for groups" +#: ipaserver/plugins/baseuser.py:358 +msgid "Types of supported user authentication" msgstr "" -#: ipalib/plugins/config.py:172 ipalib/plugins/config.py:173 -msgid "Enable migration mode" +#: ipaserver/plugins/baseuser.py:363 ipaserver/plugins/host.py:524 +msgid "Class" msgstr "" -#: ipalib/plugins/config.py:177 -msgid "Certificate Subject base" +#: ipaserver/plugins/baseuser.py:364 +msgid "" +"User category (semantics placed on this attribute are for local " +"interpretation)" msgstr "" -#: ipalib/plugins/config.py:178 -msgid "Base for certificate subjects (OU=Test,O=Example)" +#: ipaserver/plugins/baseuser.py:369 +msgid "RADIUS proxy configuration" msgstr "" -#: ipalib/plugins/config.py:183 -msgid "Default group objectclasses" +#: ipaserver/plugins/baseuser.py:373 +msgid "RADIUS proxy username" msgstr "" -#: ipalib/plugins/config.py:184 -msgid "Default group objectclasses (comma-separated list)" +#: ipaserver/plugins/baseuser.py:376 +msgid "Department Number" msgstr "" -#: ipalib/plugins/config.py:189 -msgid "Default user objectclasses" +#: ipaserver/plugins/baseuser.py:379 +msgid "Employee Number" msgstr "" -#: ipalib/plugins/config.py:190 -msgid "Default user objectclasses (comma-separated list)" +#: ipaserver/plugins/baseuser.py:382 +msgid "Employee Type" msgstr "" -#: ipalib/plugins/config.py:195 -msgid "Password Expiration Notification (days)" +#: ipaserver/plugins/baseuser.py:385 +msgid "Preferred Language" msgstr "" -#: ipalib/plugins/config.py:196 -msgid "Number of days's notice of impending password expiration" +#: ipaserver/plugins/baseuser.py:392 ipaserver/plugins/cert.py:256 +#: ipaserver/plugins/host.py:501 ipaserver/plugins/idviews.py:881 +#: ipaserver/plugins/internal.py:376 ipaserver/plugins/service.py:496 +msgid "Certificate" msgstr "" -#: ipalib/plugins/config.py:201 -msgid "Password plugin features" +#: ipaserver/plugins/baseuser.py:393 ipaserver/plugins/idviews.py:882 +msgid "Base-64 encoded user certificate" msgstr "" -#: ipalib/plugins/config.py:202 -msgid "Extra hashes to generate in password plug-in" +#: ipaserver/plugins/baseuser.py:412 ipaserver/plugins/baseuser.py:416 +#, python-format +msgid "invalid e-mail format: %(email)s" msgstr "" -#: ipalib/plugins/config.py:208 -msgid "SELinux user map order" +#: ipaserver/plugins/baseuser.py:443 +#, python-format +msgid "manager %(manager)s not found" msgstr "" -#: ipalib/plugins/config.py:209 -msgid "Order in increasing priority of SELinux users, delimited by $" +#: ipaserver/plugins/baseuser.py:525 ipaserver/plugins/stageuser.py:319 +#: ipaserver/plugins/stageuser.py:520 ipaserver/plugins/user.py:475 +#, python-format +msgid "can be at most %(len)d characters" msgstr "" -#: ipalib/plugins/config.py:212 -msgid "Default SELinux user" +#: ipaserver/plugins/batch.py:70 +msgid "Nested Methods to execute" msgstr "" -#: ipalib/plugins/config.py:213 -msgid "Default SELinux user when no match is found in SELinux map rule" +#: ipaserver/plugins/batch.py:117 +msgid "must contain a tuple (list, dict)" msgstr "" -#: ipalib/plugins/config.py:217 -msgid "Default PAC types" +#: ipaserver/plugins/ca.py:15 +msgid "" +"\n" +"Manage Certificate Authorities\n" +"\n" +"Subordinate Certificate Authorities (Sub-CAs) can be added for scoped " +"issuance\n" +"of X.509 certificates.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create new CA, subordinate to the IPA CA.\n" +"\n" +" ipa ca-add puppet --desc \"Puppet\" \\\n" +" --subject \"CN=Puppet CA,O=EXAMPLE.COM\"\n" +"\n" msgstr "" -#: ipalib/plugins/config.py:218 -msgid "Default types of PAC supported for services" +#: ipaserver/plugins/ca.py:40 ipaserver/plugins/ca.py:50 +msgid "Certificate Authority" msgstr "" -#: ipalib/plugins/config.py:224 -msgid "Default user authentication types" +#: ipaserver/plugins/ca.py:41 ipaserver/plugins/ca.py:49 +msgid "Certificate Authorities" msgstr "" -#: ipalib/plugins/config.py:225 -msgid "Default types of supported user authentication" +#: ipaserver/plugins/ca.py:56 ipaserver/plugins/schema.py:45 +#: ipaserver/plugins/trust.py:1342 +msgid "Name" msgstr "" -#: ipalib/plugins/config.py:238 -msgid "Modify configuration options." +#: ipaserver/plugins/ca.py:57 +msgid "Name for referencing the CA" msgstr "" -#: ipalib/plugins/config.py:247 -msgid "The group doesn't exist" +#: ipaserver/plugins/ca.py:62 +msgid "Description of the purpose of the CA" msgstr "" -#: ipalib/plugins/config.py:263 -#, python-format -msgid "attribute \"%s\" not allowed" +#: ipaserver/plugins/ca.py:66 +msgid "Authority ID" msgstr "" -#: ipalib/plugins/config.py:281 -msgid "May not be empty" +#: ipaserver/plugins/ca.py:67 +msgid "Dogtag Authority ID" msgstr "" -#: ipalib/plugins/config.py:300 -#, python-format -msgid "%(obj)s default attribute %(attr)s would not be allowed!" +#: ipaserver/plugins/ca.py:72 +msgid "Subject DN" msgstr "" -#: ipalib/plugins/config.py:332 -msgid "A list of SELinux users delimited by $ expected" +#: ipaserver/plugins/ca.py:73 +msgid "Subject Distinguished Name" msgstr "" -#: ipalib/plugins/config.py:336 -#, python-format -msgid "SELinux user '%(user)s' is not valid: %(error)s" +#: ipaserver/plugins/ca.py:78 ipaserver/plugins/cert.py:269 +msgid "Issuer DN" msgstr "" -#: ipalib/plugins/config.py:348 -msgid "SELinux user map default user not in order list" +#: ipaserver/plugins/ca.py:79 +msgid "Issuer Distinguished Name" msgstr "" -#: ipalib/plugins/config.py:356 -msgid "Show the current configuration." +#: ipaserver/plugins/ca.py:129 +msgid "Search for CAs." 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" +#: ipaserver/plugins/ca.py:131 +#, python-format +msgid "%(count)d CA matched" +msgid_plural "%(count)d CAs matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/ca.py:141 +msgid "Display the properties of a CA." +msgstr "" + +#: ipaserver/plugins/ca.py:150 +msgid "Create a CA." +msgstr "" + +#: ipaserver/plugins/ca.py:151 +#, python-format +msgid "Created CA \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/ca.py:157 +#, python-format +msgid "Insufficient 'add' privilege for entry '%s'." +msgstr "" + +#: ipaserver/plugins/ca.py:181 +msgid "Delete a CA." +msgstr "" + +#: ipaserver/plugins/ca.py:183 +#, python-format +msgid "Deleted CA \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/ca.py:190 ipaserver/plugins/ca.py:213 +#: ipaserver/plugins/internal.py:374 +msgid "CA" +msgstr "" + +#: ipaserver/plugins/ca.py:192 +msgid "IPA CA cannot be deleted" +msgstr "" + +#: ipaserver/plugins/ca.py:204 +msgid "Modify CA configuration." +msgstr "" + +#: ipaserver/plugins/ca.py:205 +#, python-format +msgid "Modified CA \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/caacl.py:21 +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 on all CAs:\n" +" ipa caacl-add test --usercat=all --cacat=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 on \"DNP3-CA" +"\":\n" +" ipa caacl-add alice_dnp3\n" +" ipa caacl-add-ca alice_dnp3 --cas DNP3-CA\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 "" + +#: ipaserver/plugins/caacl.py:139 ipaserver/plugins/caacl.py:217 +#: ipaserver/plugins/caacl.py:315 +msgid "CA ACL" +msgstr "" + +#: ipaserver/plugins/caacl.py:140 ipaserver/plugins/caacl.py:216 +msgid "CA ACLs" +msgstr "" + +#: ipaserver/plugins/caacl.py:222 +msgid "ACL name" +msgstr "" + +#: ipaserver/plugins/caacl.py:230 ipaserver/plugins/hbacrule.py:256 +#: ipaserver/plugins/internal.py:829 ipaserver/plugins/selinuxusermap.py:244 +#: ipaserver/plugins/sudorule.py:230 +msgid "Enabled" +msgstr "" + +#: ipaserver/plugins/caacl.py:235 +msgid "CA category" +msgstr "" + +#: ipaserver/plugins/caacl.py:236 +msgid "CA category the ACL applies to" +msgstr "" + +#: ipaserver/plugins/caacl.py:241 +msgid "Profile category" +msgstr "" + +#: ipaserver/plugins/caacl.py:242 +msgid "Profile category the ACL applies to" +msgstr "" + +#: ipaserver/plugins/caacl.py:247 ipaserver/plugins/hbacrule.py:223 +#: ipaserver/plugins/netgroup.py:227 ipaserver/plugins/selinuxusermap.py:229 +#: ipaserver/plugins/sudorule.py:235 +msgid "User category" +msgstr "" + +#: ipaserver/plugins/caacl.py:248 +msgid "User category the ACL applies to" +msgstr "" + +#: ipaserver/plugins/caacl.py:253 ipaserver/plugins/hbacrule.py:229 +#: ipaserver/plugins/netgroup.py:233 ipaserver/plugins/selinuxusermap.py:235 +#: ipaserver/plugins/sudorule.py:241 +msgid "Host category" +msgstr "" + +#: ipaserver/plugins/caacl.py:254 +msgid "Host category the ACL applies to" +msgstr "" + +#: ipaserver/plugins/caacl.py:259 ipaserver/plugins/hbacrule.py:243 +msgid "Service category" +msgstr "" + +#: ipaserver/plugins/caacl.py:260 +msgid "Service category the ACL applies to" +msgstr "" + +#: ipaserver/plugins/caacl.py:264 +msgid "CAs" +msgstr "" + +#: ipaserver/plugins/caacl.py:268 ipaserver/plugins/internal.py:362 +msgid "Profiles" +msgstr "" + +#: ipaserver/plugins/caacl.py:276 ipaserver/plugins/group.py:258 +#: ipaserver/plugins/hbacrule.py:264 ipaserver/plugins/internal.py:602 +#: ipaserver/plugins/selinuxusermap.py:252 ipaserver/plugins/sudorule.py:275 +msgid "User Groups" +msgstr "" + +#: ipaserver/plugins/caacl.py:284 ipaserver/plugins/hbacrule.py:272 +#: ipaserver/plugins/hostgroup.py:153 ipaserver/plugins/internal.py:596 +#: ipaserver/plugins/selinuxusermap.py:260 ipaserver/plugins/sudorule.py:288 +msgid "Host Groups" +msgstr "" + +#: ipaserver/plugins/caacl.py:288 ipaserver/plugins/hbacrule.py:286 +#: ipaserver/plugins/internal.py:513 ipaserver/plugins/service.py:483 +msgid "Services" +msgstr "" + +#: ipaserver/plugins/caacl.py:296 +msgid "Create a new CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:298 +#, python-format +msgid "Added CA ACL \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/caacl.py:308 +msgid "Delete a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:310 +#, python-format +msgid "Deleted CA ACL \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/caacl.py:317 +msgid "default CA ACL can be only disabled" +msgstr "" + +#: ipaserver/plugins/caacl.py:323 +msgid "Modify a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:325 +#, python-format +msgid "Modified CA ACL \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/caacl.py:337 +msgid "CA category cannot be set to 'all' while there are allowed CAs" +msgstr "" + +#: ipaserver/plugins/caacl.py:342 +msgid "" +"profile category cannot be set to 'all' while there are allowed profiles" +msgstr "" + +#: ipaserver/plugins/caacl.py:346 ipaserver/plugins/hbacrule.py:344 +#: ipaserver/plugins/netgroup.py:300 +msgid "user category cannot be set to 'all' while there are allowed users" +msgstr "" + +#: ipaserver/plugins/caacl.py:350 ipaserver/plugins/hbacrule.py:346 +#: ipaserver/plugins/netgroup.py:302 +msgid "host category cannot be set to 'all' while there are allowed hosts" +msgstr "" + +#: ipaserver/plugins/caacl.py:354 ipaserver/plugins/hbacrule.py:348 +msgid "" +"service category cannot be set to 'all' while there are allowed services" +msgstr "" + +#: ipaserver/plugins/caacl.py:361 +msgid "Search for CA ACLs." +msgstr "" + +#: ipaserver/plugins/caacl.py:364 +#, python-format +msgid "%(count)d CA ACL matched" +msgid_plural "%(count)d CA ACLs matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/caacl.py:370 +msgid "Display the properties of a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:375 +msgid "Enable a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:377 +#, python-format +msgid "Enabled CA ACL \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/caacl.py:404 +msgid "Disable a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:406 +#, python-format +msgid "Disabled CA ACL \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/caacl.py:433 +msgid "Add users and groups to a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:437 +#, python-format +msgid "%i user or group added." +msgstr "" + +#: ipaserver/plugins/caacl.py:438 +#, python-format +msgid "%i users or groups added." +msgstr "" + +#: ipaserver/plugins/caacl.py:449 ipaserver/plugins/hbacrule.py:508 +#: ipaserver/plugins/selinuxusermap.py:523 ipaserver/plugins/sudorule.py:588 +msgid "users cannot be added when user category='all'" +msgstr "" + +#: ipaserver/plugins/caacl.py:455 +msgid "Remove users and groups from a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:459 +#, python-format +msgid "%i user or group removed." +msgstr "" + +#: ipaserver/plugins/caacl.py:460 +#, python-format +msgid "%i users or groups removed." +msgstr "" + +#: ipaserver/plugins/caacl.py:465 +msgid "Add target hosts and hostgroups to a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:469 +#, python-format +msgid "%i host or hostgroup added." +msgstr "" + +#: ipaserver/plugins/caacl.py:470 +#, python-format +msgid "%i hosts or hostgroups added." +msgstr "" + +#: ipaserver/plugins/caacl.py:481 ipaserver/plugins/hbacrule.py:539 +#: ipaserver/plugins/selinuxusermap.py:556 ipaserver/plugins/sudorule.py:642 +msgid "hosts cannot be added when host category='all'" +msgstr "" + +#: ipaserver/plugins/caacl.py:487 +msgid "Remove target hosts and hostgroups from a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:491 +#, python-format +msgid "%i host or hostgroup removed." +msgstr "" + +#: ipaserver/plugins/caacl.py:492 +#, python-format +msgid "%i hosts or hostgroups removed." +msgstr "" + +#: ipaserver/plugins/caacl.py:497 +msgid "Add services to a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:500 +#, python-format +msgid "%i service added." +msgstr "" + +#: ipaserver/plugins/caacl.py:500 +#, python-format +msgid "%i services added." +msgstr "" + +#: ipaserver/plugins/caacl.py:511 ipaserver/plugins/hbacrule.py:594 +msgid "services cannot be added when service category='all'" +msgstr "" + +#: ipaserver/plugins/caacl.py:517 +msgid "Remove services from a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:520 +#, python-format +msgid "%i service removed." +msgstr "" + +#: ipaserver/plugins/caacl.py:520 +#, python-format +msgid "%i services removed." +msgstr "" + +#: ipaserver/plugins/caacl.py:535 +msgid "Add profiles to a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:540 +#, python-format +msgid "%i profile added." +msgstr "" + +#: ipaserver/plugins/caacl.py:540 +#, python-format +msgid "%i profiles added." +msgstr "" + +#: ipaserver/plugins/caacl.py:551 +msgid "profiles cannot be added when profile category='all'" +msgstr "" + +#: ipaserver/plugins/caacl.py:557 +msgid "Remove profiles from a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:562 +#, python-format +msgid "%i profile removed." +msgstr "" + +#: ipaserver/plugins/caacl.py:562 +#, python-format +msgid "%i profiles removed." +msgstr "" + +#: ipaserver/plugins/caacl.py:567 +msgid "Add CAs to a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:572 +#, python-format +msgid "%i CA added." +msgstr "" + +#: ipaserver/plugins/caacl.py:572 +#, python-format +msgid "%i CAs added." +msgstr "" + +#: ipaserver/plugins/caacl.py:583 +msgid "CAs cannot be added when CA category='all'" +msgstr "" + +#: ipaserver/plugins/caacl.py:589 +msgid "Remove CAs from a CA ACL." +msgstr "" + +#: ipaserver/plugins/caacl.py:594 +#, python-format +msgid "%i CA removed." +msgstr "" + +#: ipaserver/plugins/caacl.py:594 +#, python-format +msgid "%i CAs removed." +msgstr "" + +#: ipaserver/plugins/cert.py:57 +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" +" Search for certificates owned by a specific user:\n" +" ipa cert-find --user=user\n" +"\n" +" Examine a certificate:\n" +" ipa cert-find --file=cert.pem --all\n" +"\n" +" Verify that a certificate is owner by a specific user:\n" +" ipa cert-find --file=cert.pem --user=user\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 "" + +#: ipaserver/plugins/cert.py:172 ipaserver/plugins/cert.py:464 +#, python-format +msgid "Failure decoding Certificate Signing Request: %s" +msgstr "" + +#: ipaserver/plugins/cert.py:229 ipaserver/plugins/certprofile.py:86 +msgid "CA is not configured" +msgstr "" + +#: ipaserver/plugins/cert.py:237 +#, python-format +msgid "" +"Principal '%(principal)s' is not permitted to use CA '%(ca)s' with profile " +"'%(profile_id)s' for certificate issuance." +msgstr "" + +#: ipaserver/plugins/cert.py:257 +msgid "Base-64 encoded certificate." +msgstr "" + +#: ipaserver/plugins/cert.py:263 ipaserver/plugins/cert.py:861 +#: ipaserver/plugins/cert.py:862 ipaserver/plugins/host.py:201 +#: ipaserver/plugins/internal.py:390 ipaserver/plugins/service.py:126 +msgid "Subject" +msgstr "" + +#: ipaserver/plugins/cert.py:268 ipaserver/plugins/host.py:210 +#: ipaserver/plugins/service.py:135 +msgid "Issuer" +msgstr "" + +#: ipaserver/plugins/cert.py:274 ipaserver/plugins/host.py:213 +#: ipaserver/plugins/service.py:138 +msgid "Not Before" +msgstr "" + +#: ipaserver/plugins/cert.py:279 ipaserver/plugins/host.py:216 +#: ipaserver/plugins/service.py:141 +msgid "Not After" +msgstr "" + +#: ipaserver/plugins/cert.py:284 ipaserver/plugins/host.py:219 +#: ipaserver/plugins/service.py:144 +msgid "Fingerprint (MD5)" +msgstr "" + +#: ipaserver/plugins/cert.py:289 ipaserver/plugins/host.py:222 +#: ipaserver/plugins/service.py:147 +msgid "Fingerprint (SHA1)" +msgstr "" + +#: ipaserver/plugins/cert.py:294 +msgid "Serial number" +msgstr "" + +#: ipaserver/plugins/cert.py:295 +msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" +msgstr "" + +#: ipaserver/plugins/cert.py:301 +msgid "Serial number (hex)" +msgstr "" + +#: ipaserver/plugins/cert.py:325 +msgid "Issuing CA" +msgstr "" + +#: ipaserver/plugins/cert.py:326 +msgid "Name of issuing CA" +msgstr "" + +#: ipaserver/plugins/cert.py:344 ipaserver/plugins/certprofile.py:122 +msgid "Profile ID" +msgstr "" + +#: ipaserver/plugins/cert.py:345 +msgid "Certificate Profile to use" +msgstr "" + +#: ipaserver/plugins/cert.py:350 +msgid "Request status" +msgstr "" + +#: ipaserver/plugins/cert.py:355 +msgid "Request id" +msgstr "" + +#: ipaserver/plugins/cert.py:364 +msgid "Submit a certificate signing request." +msgstr "" + +#: ipaserver/plugins/cert.py:372 +msgid "CSR" +msgstr "" + +#: ipaserver/plugins/cert.py:383 ipaserver/plugins/service.py:489 +msgid "Principal" +msgstr "" + +#: ipaserver/plugins/cert.py:384 +msgid "Principal for this certificate (e.g. HTTP/test.example.com)" +msgstr "" + +#: ipaserver/plugins/cert.py:388 +msgid "automatically add the principal if it doesn't exist" +msgstr "" + +#: ipaserver/plugins/cert.py:487 +msgid "The principal for this request doesn't exist." +msgstr "" + +#: ipaserver/plugins/cert.py:495 +msgid "No Common Name was found in subject of request." +msgstr "" + +#: ipaserver/plugins/cert.py:500 +#, python-format +msgid "" +"hostname in subject of request '%(cn)s' does not match principal hostname " +"'%(hostname)s'" +msgstr "" + +#: ipaserver/plugins/cert.py:508 +msgid "DN commonName does not match user's login" +msgstr "" + +#: ipaserver/plugins/cert.py:517 +msgid "DN emailAddress does not match any of user's email addresses" +msgstr "" + +#: ipaserver/plugins/cert.py:523 +#, python-format +msgid "" +"Insufficient 'write' privilege to the 'userCertificate' attribute of entry " +"'%s'." +msgstr "" + +#: ipaserver/plugins/cert.py:543 +#, python-format +msgid "subject alt name type %s is forbidden for user principals" +msgstr "" + +#: ipaserver/plugins/cert.py:550 +#, python-format +msgid "" +"The service principal for subject alt name %s in certificate request does " +"not exist" +msgstr "" + +#: ipaserver/plugins/cert.py:557 +#, python-format +msgid "" +"Insufficient privilege to create a certificate with subject alt name '%s'." +msgstr "" + +#: ipaserver/plugins/cert.py:566 +#, python-format +msgid "Principal '%s' in subject alt name does not match requested principal" +msgstr "" + +#: ipaserver/plugins/cert.py:574 +msgid "RFC822Name does not match any of user's email addresses" +msgstr "" + +#: ipaserver/plugins/cert.py:580 +#, python-format +msgid "subject alt name type %s is forbidden for non-user principals" +msgstr "" + +#: ipaserver/plugins/cert.py:585 +#, python-format +msgid "Subject alt name type %s is forbidden" +msgstr "" + +#: ipaserver/plugins/cert.py:617 +msgid "Check the status of a certificate signing request." +msgstr "" + +#: ipaserver/plugins/cert.py:644 ipaserver/plugins/internal.py:429 +#: ipaserver/plugins/internal.py:550 ipaserver/plugins/internal.py:684 +#: ipaserver/plugins/internal.py:830 +msgid "Status" +msgstr "" + +#: ipaserver/plugins/cert.py:649 +msgid "Revoked" +msgstr "" + +#: ipaserver/plugins/cert.py:654 ipaserver/plugins/host.py:225 +#: ipaserver/plugins/internal.py:387 ipaserver/plugins/internal.py:421 +#: ipaserver/plugins/service.py:150 +msgid "Revocation reason" +msgstr "" + +#: ipaserver/plugins/cert.py:655 +msgid "Reason for revoking the certificate (0-10)" +msgstr "" + +#: ipaserver/plugins/cert.py:676 +#, python-format +msgid "Owner %s" +msgstr "" + +#: ipaserver/plugins/cert.py:712 +msgid "Retrieve an existing certificate." +msgstr "" + +#: ipaserver/plugins/cert.py:716 +msgid "Output filename" +msgstr "" + +#: ipaserver/plugins/cert.py:717 +msgid "File to store the certificate in." +msgstr "" + +#: ipaserver/plugins/cert.py:751 +#, python-format +msgid "" +"Certificate with serial number %(serial)s issued by CA '%(ca)s' not found" +msgstr "" + +#: ipaserver/plugins/cert.py:787 +msgid "Revoke a certificate." +msgstr "" + +#: ipaserver/plugins/cert.py:818 +msgid "7 is not a valid revocation reason" +msgstr "" + +#: ipaserver/plugins/cert.py:828 +msgid "Take a revoked certificate off hold." +msgstr "" + +#: ipaserver/plugins/cert.py:832 +msgid "Unrevoked" +msgstr "" + +#: ipaserver/plugins/cert.py:835 ipaserver/plugins/internal.py:278 +msgid "Error" +msgstr "" + +#: ipaserver/plugins/cert.py:857 +msgid "Search for existing certificates." +msgstr "" + +#: ipaserver/plugins/cert.py:866 +msgid "minimum serial number" +msgstr "" + +#: ipaserver/plugins/cert.py:872 +msgid "maximum serial number" +msgstr "" + +#: ipaserver/plugins/cert.py:878 +msgid "match the common name exactly" +msgstr "" + +#: ipaserver/plugins/cert.py:882 +msgid "Valid not after from this date (YYYY-mm-dd)" +msgstr "" + +#: ipaserver/plugins/cert.py:887 +msgid "Valid not after to this date (YYYY-mm-dd)" +msgstr "" + +#: ipaserver/plugins/cert.py:892 +msgid "Valid not before from this date (YYYY-mm-dd)" +msgstr "" + +#: ipaserver/plugins/cert.py:897 +msgid "Valid not before to this date (YYYY-mm-dd)" +msgstr "" + +#: ipaserver/plugins/cert.py:902 +msgid "Issued on from this date (YYYY-mm-dd)" +msgstr "" + +#: ipaserver/plugins/cert.py:907 +msgid "Issued on to this date (YYYY-mm-dd)" +msgstr "" + +#: ipaserver/plugins/cert.py:912 +msgid "Revoked on from this date (YYYY-mm-dd)" +msgstr "" + +#: ipaserver/plugins/cert.py:917 +msgid "Revoked on to this date (YYYY-mm-dd)" +msgstr "" + +#: ipaserver/plugins/cert.py:923 +msgid "Results should contain primary key attribute only (\"certificate\")" +msgstr "" + +#: ipaserver/plugins/cert.py:939 +#, python-format +msgid "%(count)d certificate matched" +msgid_plural "%(count)d certificates matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/cert.py:957 +#, python-format +msgid "Search for certificates with these owner %s." +msgstr "" + +#: ipaserver/plugins/cert.py:968 +#, python-format +msgid "Search for certificates without these owner %s." +msgstr "" + +#: ipaserver/plugins/certprofile.py:21 +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 --desc \"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" +" Save profile configuration to a file:\n" +" ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg\n" +"\n" +" Search for profiles that do not store certificates:\n" +" ipa certprofile-find --store=false\n" +"\n" +"PROFILE CONFIGURATION FORMAT:\n" +"\n" +"The profile configuration format is the raw property-list format\n" +"used by Dogtag Certificate System. The XML format is not supported.\n" +"\n" +"The following restrictions apply to profiles managed by FreeIPA:\n" +"\n" +"- When importing a profile the \"profileId\" field, if present, must\n" +" match the ID given on the command line.\n" +"\n" +"- The \"classId\" field must be set to \"caEnrollImpl\"\n" +"\n" +"- The \"auth.instance_id\" field must be set to \"raCertAuth\"\n" +"\n" +"- The \"certReqInputImpl\" input class and \"certOutputImpl\" output\n" +" class must be used.\n" +"\n" +msgstr "" + +#: ipaserver/plugins/certprofile.py:95 +msgid "invalid Profile ID" +msgstr "" + +#: ipaserver/plugins/certprofile.py:106 ipaserver/plugins/certprofile.py:116 +msgid "Certificate Profile" +msgstr "" + +#: ipaserver/plugins/certprofile.py:107 ipaserver/plugins/certprofile.py:115 +msgid "Certificate Profiles" +msgstr "" + +#: ipaserver/plugins/certprofile.py:123 +msgid "Profile ID for referring to this profile" +msgstr "" + +#: ipaserver/plugins/certprofile.py:128 +msgid "Profile description" +msgstr "" + +#: ipaserver/plugins/certprofile.py:129 +msgid "Brief description of this profile" +msgstr "" + +#: ipaserver/plugins/certprofile.py:134 +msgid "Store issued certificates" +msgstr "" + +#: ipaserver/plugins/certprofile.py:135 +msgid "Whether to store certs issued using this profile" +msgstr "" + +#: ipaserver/plugins/certprofile.py:184 +msgid "Search for Certificate Profiles." +msgstr "" + +#: ipaserver/plugins/certprofile.py:186 +#, python-format +msgid "%(count)d profile matched" +msgid_plural "%(count)d profiles matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/certprofile.py:196 +msgid "Display the properties of a Certificate Profile." +msgstr "" + +#: ipaserver/plugins/certprofile.py:200 +msgid "Profile configuration" +msgstr "" + +#: ipaserver/plugins/certprofile.py:206 +msgid "Write profile configuration to file" +msgstr "" + +#: ipaserver/plugins/certprofile.py:223 +msgid "Import a Certificate Profile." +msgstr "" + +#: ipaserver/plugins/certprofile.py:224 +#, python-format +msgid "Imported profile \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/certprofile.py:228 +msgid "Filename of a raw profile. The XML format is not supported." +msgstr "" + +#: ipaserver/plugins/certprofile.py:247 +#, python-format +msgid "Profile ID '%(cli_value)s' does not match profile data '%(file_value)s'" +msgstr "" + +#: ipaserver/plugins/certprofile.py:272 +msgid "Delete a Certificate Profile." +msgstr "" + +#: ipaserver/plugins/certprofile.py:273 +#, python-format +msgid "Deleted profile \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/certprofile.py:280 +#, python-format +msgid "Predefined profile '%(profile_id)s' cannot be deleted" +msgstr "" + +#: ipaserver/plugins/certprofile.py:295 +msgid "Modify Certificate Profile configuration." +msgstr "" + +#: ipaserver/plugins/certprofile.py:296 +#, python-format +msgid "Modified Certificate Profile \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/certprofile.py:301 +msgid "File containing profile configuration" +msgstr "" + +#: ipaserver/plugins/certprofile.py:313 +msgid "Certificate profiles cannot be renamed" +msgstr "" + +#: ipaserver/plugins/config.py:37 +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 "" + +#: ipaserver/plugins/config.py:90 +msgid "configuration options" +msgstr "" + +#: ipaserver/plugins/config.py:123 ipaserver/plugins/config.py:124 +msgid "Configuration" +msgstr "" + +#: ipaserver/plugins/config.py:129 +msgid "Maximum username length" +msgstr "" + +#: ipaserver/plugins/config.py:135 +msgid "Home directory base" +msgstr "" + +#: ipaserver/plugins/config.py:136 +msgid "Default location of home directories" +msgstr "" + +#: ipaserver/plugins/config.py:140 +msgid "Default shell" +msgstr "" + +#: ipaserver/plugins/config.py:141 +msgid "Default shell for new users" +msgstr "" + +#: ipaserver/plugins/config.py:145 +msgid "Default users group" +msgstr "" + +#: ipaserver/plugins/config.py:146 +msgid "Default group for new users" +msgstr "" + +#: ipaserver/plugins/config.py:150 ipaserver/plugins/config.py:151 +msgid "Default e-mail domain" +msgstr "" + +#: ipaserver/plugins/config.py:155 +msgid "Search time limit" +msgstr "" + +#: ipaserver/plugins/config.py:156 +msgid "Maximum amount of time (seconds) for a search (-1 or 0 is unlimited)" +msgstr "" + +#: ipaserver/plugins/config.py:161 +msgid "Search size limit" +msgstr "" + +#: ipaserver/plugins/config.py:162 +msgid "Maximum number of records to search (-1 or 0 is unlimited)" +msgstr "" + +#: ipaserver/plugins/config.py:167 +msgid "User search fields" +msgstr "" + +#: ipaserver/plugins/config.py:168 +msgid "A comma-separated list of fields to search in when searching for users" +msgstr "" + +#: ipaserver/plugins/config.py:173 +msgid "A comma-separated list of fields to search in when searching for groups" +msgstr "" + +#: ipaserver/plugins/config.py:177 ipaserver/plugins/config.py:178 +msgid "Enable migration mode" +msgstr "" + +#: ipaserver/plugins/config.py:182 +msgid "Certificate Subject base" +msgstr "" + +#: ipaserver/plugins/config.py:183 +msgid "Base for certificate subjects (OU=Test,O=Example)" +msgstr "" + +#: ipaserver/plugins/config.py:188 +msgid "Default group objectclasses" +msgstr "" + +#: ipaserver/plugins/config.py:189 +msgid "Default group objectclasses (comma-separated list)" +msgstr "" + +#: ipaserver/plugins/config.py:193 +msgid "Default user objectclasses" +msgstr "" + +#: ipaserver/plugins/config.py:194 +msgid "Default user objectclasses (comma-separated list)" +msgstr "" + +#: ipaserver/plugins/config.py:198 +msgid "Password Expiration Notification (days)" +msgstr "" + +#: ipaserver/plugins/config.py:199 +msgid "Number of days's notice of impending password expiration" +msgstr "" + +#: ipaserver/plugins/config.py:204 +msgid "Password plugin features" +msgstr "" + +#: ipaserver/plugins/config.py:205 +msgid "Extra hashes to generate in password plug-in" +msgstr "" + +#: ipaserver/plugins/config.py:211 +msgid "SELinux user map order" +msgstr "" + +#: ipaserver/plugins/config.py:212 +msgid "Order in increasing priority of SELinux users, delimited by $" +msgstr "" + +#: ipaserver/plugins/config.py:215 +msgid "Default SELinux user" +msgstr "" + +#: ipaserver/plugins/config.py:216 +msgid "Default SELinux user when no match is found in SELinux map rule" +msgstr "" + +#: ipaserver/plugins/config.py:220 +msgid "Default PAC types" +msgstr "" + +#: ipaserver/plugins/config.py:221 +msgid "Default types of PAC supported for services" +msgstr "" + +#: ipaserver/plugins/config.py:226 +msgid "Default user authentication types" +msgstr "" + +#: ipaserver/plugins/config.py:227 +msgid "Default types of supported user authentication" +msgstr "" + +#: ipaserver/plugins/config.py:232 +msgid "IPA masters" +msgstr "" + +#: ipaserver/plugins/config.py:233 +msgid "List of all IPA masters" +msgstr "" + +#: ipaserver/plugins/config.py:238 +msgid "IPA CA servers" +msgstr "" + +#: ipaserver/plugins/config.py:239 +msgid "IPA servers configured as certificate authority" +msgstr "" + +#: ipaserver/plugins/config.py:244 +msgid "IPA NTP servers" +msgstr "" + +#: ipaserver/plugins/config.py:245 +msgid "IPA servers with enabled NTP" +msgstr "" + +#: ipaserver/plugins/config.py:250 +msgid "IPA CA renewal master" +msgstr "" + +#: ipaserver/plugins/config.py:251 +msgid "Renewal master for IPA certificate authority" +msgstr "" + +#: ipaserver/plugins/config.py:272 +msgid "Modify configuration options." +msgstr "" + +#: ipaserver/plugins/config.py:281 +msgid "The group doesn't exist" +msgstr "" + +#: ipaserver/plugins/config.py:297 +#, python-format +msgid "attribute \"%s\" not allowed" +msgstr "" + +#: ipaserver/plugins/config.py:315 +msgid "May not be empty" +msgstr "" + +#: ipaserver/plugins/config.py:334 +#, python-format +msgid "%(obj)s default attribute %(attr)s would not be allowed!" +msgstr "" + +#: ipaserver/plugins/config.py:366 +msgid "A list of SELinux users delimited by $ expected" +msgstr "" + +#: ipaserver/plugins/config.py:370 +#, python-format +msgid "SELinux user '%(user)s' is not valid: %(error)s" +msgstr "" + +#: ipaserver/plugins/config.py:382 +msgid "SELinux user map default user not in order list" +msgstr "" + +#: ipaserver/plugins/config.py:414 +msgid "Show the current configuration." +msgstr "" + +#: ipaserver/plugins/delegation.py:29 +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" @@ -3629,98 +4760,98 @@ msgid "" " ipa delegation-del \"managers edit employees' street\"\n" msgstr "" -#: ipalib/plugins/delegation.py:73 +#: ipaserver/plugins/delegation.py:72 msgid "delegation" msgstr "" -#: ipalib/plugins/delegation.py:74 +#: ipaserver/plugins/delegation.py:73 msgid "delegations" msgstr "" -#: ipalib/plugins/delegation.py:75 +#: ipaserver/plugins/delegation.py:74 msgid "Delegations" msgstr "" -#: ipalib/plugins/delegation.py:76 +#: ipaserver/plugins/delegation.py:75 msgid "Delegation" msgstr "" -#: ipalib/plugins/delegation.py:81 ipalib/plugins/delegation.py:82 -#: ipalib/plugins/servicedelegation.py:166 +#: ipaserver/plugins/delegation.py:80 ipaserver/plugins/delegation.py:81 +#: ipaserver/plugins/servicedelegation.py:175 msgid "Delegation name" msgstr "" -#: ipalib/plugins/delegation.py:88 ipalib/plugins/selfservice.py:92 +#: ipaserver/plugins/delegation.py:87 ipaserver/plugins/selfservice.py:91 msgid "Permissions to grant (read, write). Default is write." msgstr "" -#: ipalib/plugins/delegation.py:94 +#: ipaserver/plugins/delegation.py:92 msgid "Attributes to which the delegation applies" msgstr "" -#: ipalib/plugins/delegation.py:100 +#: ipaserver/plugins/delegation.py:97 msgid "Member user group" msgstr "" -#: ipalib/plugins/delegation.py:101 +#: ipaserver/plugins/delegation.py:98 msgid "User group to apply delegation to" msgstr "" -#: ipalib/plugins/delegation.py:134 +#: ipaserver/plugins/delegation.py:131 msgid "Add a new delegation." msgstr "" -#: ipalib/plugins/delegation.py:136 +#: ipaserver/plugins/delegation.py:133 #, python-format msgid "Added delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/delegation.py:155 +#: ipaserver/plugins/delegation.py:152 msgid "Delete a delegation." msgstr "" -#: ipalib/plugins/delegation.py:158 +#: ipaserver/plugins/delegation.py:155 #, python-format msgid "Deleted delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/delegation.py:173 +#: ipaserver/plugins/delegation.py:170 msgid "Modify a delegation." msgstr "" -#: ipalib/plugins/delegation.py:175 +#: ipaserver/plugins/delegation.py:172 #, python-format msgid "Modified delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/delegation.py:192 +#: ipaserver/plugins/delegation.py:189 msgid "Search for delegations." msgstr "" -#: ipalib/plugins/delegation.py:195 +#: ipaserver/plugins/delegation.py:192 #, python-format msgid "%(count)d delegation matched" msgid_plural "%(count)d delegations matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/delegation.py:218 +#: ipaserver/plugins/delegation.py:215 msgid "Display information about a delegation." msgstr "" -#: ipalib/plugins/dns.py:62 +#: ipaserver/plugins/dns.py:91 msgid "" "\n" "Domain Name System (DNS)\n" msgstr "" -#: ipalib/plugins/dns.py:64 +#: ipaserver/plugins/dns.py:93 msgid "" "\n" "Manage DNS zone and resource records.\n" msgstr "" -#: ipalib/plugins/dns.py:66 +#: ipaserver/plugins/dns.py:95 msgid "" "\n" "SUPPORTED ZONE TYPES\n" @@ -3731,13 +4862,13 @@ msgid "" " (a set of DNS servers).\n" msgstr "" -#: ipalib/plugins/dns.py:72 +#: ipaserver/plugins/dns.py:101 msgid "" "\n" "USING STRUCTURED PER-TYPE OPTIONS\n" msgstr "" -#: ipalib/plugins/dns.py:74 +#: ipaserver/plugins/dns.py:103 msgid "" "\n" "There are many structured DNS RR types where DNS data stored in LDAP server\n" @@ -3747,7 +4878,7 @@ msgid "" "minutes, seconds of latitude and longitude, altitude or precision).\n" msgstr "" -#: ipalib/plugins/dns.py:80 +#: ipaserver/plugins/dns.py:109 msgid "" "\n" "It may be difficult to manipulate such DNS records without making a mistake\n" @@ -3762,7 +4893,7 @@ msgid "" "--mx-preference and --mx-exchanger.\n" msgstr "" -#: ipalib/plugins/dns.py:88 +#: ipaserver/plugins/dns.py:117 msgid "" "\n" "When adding a record, either RR specific options or standard option for a " @@ -3777,28 +4908,28 @@ msgid "" "ipa dnsrecord-mod --mx-rec=\"0 mx.example.com.\" --mx-preference=1\n" msgstr "" -#: ipalib/plugins/dns.py:97 +#: ipaserver/plugins/dns.py:126 msgid "" "\n" "\n" "EXAMPLES:\n" msgstr "" -#: ipalib/plugins/dns.py:100 +#: ipaserver/plugins/dns.py:129 msgid "" "\n" " Add new zone:\n" " ipa dnszone-add example.com --admin-email=admin@example.com\n" msgstr "" -#: ipalib/plugins/dns.py:103 +#: ipaserver/plugins/dns.py:132 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:106 +#: ipaserver/plugins/dns.py:135 msgid "" "\n" " Modify the zone to allow dynamic updates for hosts own records in realm " @@ -3806,7 +4937,7 @@ msgid "" " ipa dnszone-mod example.com --dynamic-update=TRUE\n" msgstr "" -#: ipalib/plugins/dns.py:109 +#: ipaserver/plugins/dns.py:138 msgid "" "\n" " This is the equivalent of:\n" @@ -3815,42 +4946,42 @@ msgid "" "krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;\"\n" msgstr "" -#: ipalib/plugins/dns.py:113 +#: ipaserver/plugins/dns.py:142 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:116 +#: ipaserver/plugins/dns.py:145 msgid "" "\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:119 +#: ipaserver/plugins/dns.py:148 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:122 +#: ipaserver/plugins/dns.py:151 msgid "" "\n" " Add a mail server for example.com:\n" " ipa dnsrecord-add example.com @ --mx-rec=\"10 mail1\"\n" msgstr "" -#: ipalib/plugins/dns.py:125 +#: ipaserver/plugins/dns.py:154 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:128 +#: ipaserver/plugins/dns.py:157 msgid "" "\n" " Add another record using interactive mode (started when dnsrecord-add, " @@ -3868,14 +4999,14 @@ msgid "" " NS record: nameserver.example.com., nameserver2.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:141 +#: ipaserver/plugins/dns.py:170 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:144 +#: ipaserver/plugins/dns.py:173 msgid "" "\n" " Add LOC record for example.com:\n" @@ -3883,7 +5014,7 @@ msgid "" "227.64m\"\n" msgstr "" -#: ipalib/plugins/dns.py:147 +#: ipaserver/plugins/dns.py:176 msgid "" "\n" " Add new A record for www.example.com. Create a reverse record in " @@ -3894,14 +5025,14 @@ msgid "" " ipa dnsrecord-add example.com www --a-rec=192.0.2.2 --a-create-reverse\n" msgstr "" -#: ipalib/plugins/dns.py:152 +#: ipaserver/plugins/dns.py:181 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 "" -#: ipalib/plugins/dns.py:155 +#: ipaserver/plugins/dns.py:184 msgid "" "\n" " Add new SRV records for LDAP servers. Three quarters of the requests\n" @@ -3915,7 +5046,7 @@ msgid "" "example.com\"\n" msgstr "" -#: ipalib/plugins/dns.py:162 +#: ipaserver/plugins/dns.py:191 msgid "" "\n" " The interactive mode can be used for easy modification:\n" @@ -3939,14 +5070,14 @@ msgid "" "389 slow.example.com\n" msgstr "" -#: ipalib/plugins/dns.py:179 +#: ipaserver/plugins/dns.py:208 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:182 +#: ipaserver/plugins/dns.py:211 msgid "" "\n" " An example of the interactive mode for dnsrecord-del command:\n" @@ -3964,42 +5095,42 @@ msgid "" "deleted)\n" msgstr "" -#: ipalib/plugins/dns.py:195 +#: ipaserver/plugins/dns.py:224 msgid "" "\n" " Show zone example.com:\n" " ipa dnszone-show example.com\n" msgstr "" -#: ipalib/plugins/dns.py:198 +#: ipaserver/plugins/dns.py:227 msgid "" "\n" " Find zone with \"example\" in its domain name:\n" " ipa dnszone-find example\n" msgstr "" -#: ipalib/plugins/dns.py:201 +#: ipaserver/plugins/dns.py:230 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:204 +#: ipaserver/plugins/dns.py:233 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:207 +#: ipaserver/plugins/dns.py:236 msgid "" "\n" " Show records for resource www in zone example.com\n" " ipa dnsrecord-show example.com www\n" msgstr "" -#: ipalib/plugins/dns.py:210 +#: ipaserver/plugins/dns.py:239 msgid "" "\n" " Delegate zone sub.example to another nameserver:\n" @@ -4007,14 +5138,14 @@ msgid "" " ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:214 +#: ipaserver/plugins/dns.py:243 msgid "" "\n" " Delete zone example.com with all resource records:\n" " ipa dnszone-del example.com\n" msgstr "" -#: ipalib/plugins/dns.py:217 +#: ipaserver/plugins/dns.py:246 msgid "" "\n" " If a global forwarder is configured, all queries for which this server is " @@ -4024,7 +5155,7 @@ msgid "" " Global forwarding configuration can be overridden per-zone.\n" msgstr "" -#: ipalib/plugins/dns.py:221 +#: ipaserver/plugins/dns.py:250 msgid "" "\n" " Semantics of forwarding in IPA matches BIND semantics and depends on the " @@ -4041,7 +5172,7 @@ msgid "" " forwarders.\n" msgstr "" -#: ipalib/plugins/dns.py:232 +#: ipaserver/plugins/dns.py:261 msgid "" "\n" " Semantics of the --forwarder-policy option:\n" @@ -4052,14 +5183,14 @@ msgid "" " return failure.\n" msgstr "" -#: ipalib/plugins/dns.py:239 +#: ipaserver/plugins/dns.py:268 msgid "" "\n" " Disable global forwarding for given sub-tree:\n" " ipa dnszone-mod example.com --forward-policy=none\n" msgstr "" -#: ipalib/plugins/dns.py:242 +#: ipaserver/plugins/dns.py:271 msgid "" "\n" " This configuration forwards all queries for names outside the example.com\n" @@ -4068,7 +5199,7 @@ msgid "" "etc.).\n" msgstr "" -#: ipalib/plugins/dns.py:246 +#: ipaserver/plugins/dns.py:275 msgid "" "\n" " Forward all requests for the zone external.example.com to another " @@ -4080,35 +5211,35 @@ msgid "" " --forwarder=203.0.113.1\n" msgstr "" -#: ipalib/plugins/dns.py:252 +#: ipaserver/plugins/dns.py:281 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:255 +#: ipaserver/plugins/dns.py:284 msgid "" "\n" " Show forward zone external.example.com:\n" " ipa dnsforwardzone-show external.example.com\n" msgstr "" -#: ipalib/plugins/dns.py:258 +#: ipaserver/plugins/dns.py:287 msgid "" "\n" " List all forward zones:\n" " ipa dnsforwardzone-find\n" msgstr "" -#: ipalib/plugins/dns.py:261 +#: ipaserver/plugins/dns.py:290 msgid "" "\n" " Delete forward zone external.example.com:\n" " ipa dnsforwardzone-del external.example.com\n" msgstr "" -#: ipalib/plugins/dns.py:264 +#: ipaserver/plugins/dns.py:293 msgid "" "\n" " Resolve a host name to see if it exists (will add default IPA domain\n" @@ -4117,14 +5248,14 @@ msgid "" " ipa dns-resolve www\n" msgstr "" -#: ipalib/plugins/dns.py:269 +#: ipaserver/plugins/dns.py:298 msgid "" "\n" "\n" "GLOBAL DNS CONFIGURATION\n" msgstr "" -#: ipalib/plugins/dns.py:272 +#: ipaserver/plugins/dns.py:301 msgid "" "\n" "DNS configuration passed to command line install script is stored in a " @@ -4135,274 +5266,260 @@ msgid "" "server:\n" msgstr "" -#: ipalib/plugins/dns.py:277 +#: ipaserver/plugins/dns.py:306 msgid "" "\n" " Show global DNS configuration:\n" " ipa dnsconfig-show\n" msgstr "" -#: ipalib/plugins/dns.py:280 +#: ipaserver/plugins/dns.py:309 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:319 +#: ipaserver/plugins/dns.py:344 msgid "Permission value" msgstr "" -#: ipalib/plugins/dns.py:365 -#, python-format -msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" -msgstr "" - -#: ipalib/plugins/dns.py:368 -msgid "invalid IP address format" -msgstr "" - -#: ipalib/plugins/dns.py:381 +#: ipaserver/plugins/dns.py:395 msgid "invalid IP network format" msgstr "" -#: ipalib/plugins/dns.py:390 +#: ipaserver/plugins/dns.py:404 msgid "each ACL element must be terminated with a semicolon" msgstr "" -#: ipalib/plugins/dns.py:407 +#: ipaserver/plugins/dns.py:421 msgid "invalid address format" msgstr "" -#: ipalib/plugins/dns.py:457 -#, python-format -msgid "%(port)s is not a valid port" -msgstr "" - -#: ipalib/plugins/dns.py:468 +#: ipaserver/plugins/dns.py:464 msgid "" "expected format: <0-255> <0-255> <0-65535> even-" "length_hexadecimal_digits_or_hyphen" msgstr "" -#: ipalib/plugins/dns.py:477 +#: ipaserver/plugins/dns.py:473 msgid "algorithm value: allowed interval 0-255" msgstr "" -#: ipalib/plugins/dns.py:480 +#: ipaserver/plugins/dns.py:476 msgid "flags value: allowed interval 0-255" msgstr "" -#: ipalib/plugins/dns.py:483 +#: ipaserver/plugins/dns.py:479 msgid "iterations value: allowed interval 0-65535" msgstr "" -#: ipalib/plugins/dns.py:491 +#: ipaserver/plugins/dns.py:487 #, python-format msgid "salt value: %(err)s" msgstr "" -#: ipalib/plugins/dns.py:498 +#: ipaserver/plugins/dns.py:494 msgid "invalid domain-name: not fully qualified" msgstr "" -#: ipalib/plugins/dns.py:507 +#: ipaserver/plugins/dns.py:503 msgid "should not be a wildcard domain name (RFC 4592 section 4)" msgstr "" -#: ipalib/plugins/dns.py:550 +#: ipaserver/plugins/dns.py:546 #, python-format msgid "" "DNS reverse zone %(revzone)s for IP address %(addr)s is not managed by this " "server" msgstr "" -#: ipalib/plugins/dns.py:567 +#: ipaserver/plugins/dns.py:563 #, python-format msgid "DNS zone %(zone)s not found" msgstr "" -#: ipalib/plugins/dns.py:581 +#: ipaserver/plugins/dns.py:577 #, python-format msgid "IP address %(ip)s is already assigned in domain %(domain)s." msgstr "" -#: ipalib/plugins/dns.py:591 +#: ipaserver/plugins/dns.py:587 #, python-format msgid "" "Reverse record for IP address %(ip)s already exists in reverse zone %(zone)s." msgstr "" -#: ipalib/plugins/dns.py:665 +#: ipaserver/plugins/dns.py:661 #, python-format msgid "%s record" msgstr "" -#: ipalib/plugins/dns.py:667 +#: ipaserver/plugins/dns.py:663 #, python-format msgid "Raw %s records" msgstr "" -#: ipalib/plugins/dns.py:668 +#: ipaserver/plugins/dns.py:664 #, python-format msgid "%s Record" msgstr "" -#: ipalib/plugins/dns.py:669 +#: ipaserver/plugins/dns.py:665 #, python-format msgid "(see RFC %s for details)" msgstr "" -#: ipalib/plugins/dns.py:734 +#: ipaserver/plugins/dns.py:727 #, python-format msgid "'%s' is a required part of DNS record" msgstr "" -#: ipalib/plugins/dns.py:741 +#: ipaserver/plugins/dns.py:734 msgid "Invalid number of parts!" msgstr "" -#: ipalib/plugins/dns.py:796 +#: ipaserver/plugins/dns.py:786 #, python-format msgid "DNS RR type \"%s\" is not supported by bind-dyndb-ldap plugin" msgstr "" -#: ipalib/plugins/dns.py:812 +#: ipaserver/plugins/dns.py:802 #, python-format msgid "format must be specified as \"%(format)s\" %(rfcs)s" msgstr "" -#: ipalib/plugins/dns.py:937 +#: ipaserver/plugins/dns.py:877 msgid "Create reverse" msgstr "" -#: ipalib/plugins/dns.py:938 +#: ipaserver/plugins/dns.py:878 msgid "Create reverse record for this IP Address" msgstr "" -#: ipalib/plugins/dns.py:973 +#: ipaserver/plugins/dns.py:913 #, python-format msgid "Cannot create reverse record for \"%(value)s\": %(exc)s" msgstr "" -#: ipalib/plugins/dns.py:993 ipalib/plugins/dns.py:1016 -#: ipalib/plugins/host.py:610 +#: ipaserver/plugins/dns.py:933 ipaserver/plugins/dns.py:956 +#: ipaserver/plugins/host.py:604 msgid "IP Address" msgstr "" -#: ipalib/plugins/dns.py:1002 ipalib/plugins/dns.py:1538 +#: ipaserver/plugins/dns.py:942 ipaserver/plugins/dns.py:1478 msgid "Record data" msgstr "" -#: ipalib/plugins/dns.py:1025 +#: ipaserver/plugins/dns.py:965 msgid "Subtype" msgstr "" -#: ipalib/plugins/dns.py:1030 ipalib/plugins/dns.py:1067 -#: ipalib/plugins/dns.py:1316 ipalib/plugins/dns.py:1377 +#: ipaserver/plugins/dns.py:970 ipaserver/plugins/dns.py:1007 +#: ipaserver/plugins/dns.py:1256 ipaserver/plugins/dns.py:1317 msgid "Hostname" msgstr "" -#: ipalib/plugins/dns.py:1043 +#: ipaserver/plugins/dns.py:983 msgid "Certificate Type" msgstr "" -#: ipalib/plugins/dns.py:1048 ipalib/plugins/dns.py:1091 +#: ipaserver/plugins/dns.py:988 ipaserver/plugins/dns.py:1031 msgid "Key Tag" msgstr "" -#: ipalib/plugins/dns.py:1053 ipalib/plugins/dns.py:1096 -#: ipalib/plugins/dns.py:1438 ipalib/plugins/otptoken.py:226 +#: ipaserver/plugins/dns.py:993 ipaserver/plugins/dns.py:1036 +#: ipaserver/plugins/dns.py:1378 ipaserver/plugins/otptoken.py:225 msgid "Algorithm" msgstr "" -#: ipalib/plugins/dns.py:1058 +#: ipaserver/plugins/dns.py:998 msgid "Certificate/CRL" msgstr "" -#: ipalib/plugins/dns.py:1068 +#: ipaserver/plugins/dns.py:1008 msgid "A hostname which this alias hostname points to" msgstr "" -#: ipalib/plugins/dns.py:1081 ipalib/plugins/dns.py:1406 -#: ipalib/plugins/internal.py:613 +#: ipaserver/plugins/dns.py:1021 ipaserver/plugins/dns.py:1346 +#: ipaserver/plugins/internal.py:624 msgid "Target" msgstr "" -#: ipalib/plugins/dns.py:1101 +#: ipaserver/plugins/dns.py:1041 msgid "Digest Type" msgstr "" -#: ipalib/plugins/dns.py:1106 +#: ipaserver/plugins/dns.py:1046 msgid "Digest" msgstr "" -#: ipalib/plugins/dns.py:1142 ipalib/plugins/dns.py:1299 -#: ipalib/plugins/dns.py:1345 +#: ipaserver/plugins/dns.py:1082 ipaserver/plugins/dns.py:1239 +#: ipaserver/plugins/dns.py:1285 msgid "Preference" msgstr "" -#: ipalib/plugins/dns.py:1143 ipalib/plugins/dns.py:1300 +#: ipaserver/plugins/dns.py:1083 ipaserver/plugins/dns.py:1240 msgid "Preference given to this exchanger. Lower values are more preferred" msgstr "" -#: ipalib/plugins/dns.py:1148 ipalib/plugins/dns.py:1305 +#: ipaserver/plugins/dns.py:1088 ipaserver/plugins/dns.py:1245 msgid "Exchanger" msgstr "" -#: ipalib/plugins/dns.py:1149 +#: ipaserver/plugins/dns.py:1089 msgid "A host willing to act as a key exchanger" msgstr "" -#: ipalib/plugins/dns.py:1158 +#: ipaserver/plugins/dns.py:1098 msgid "Degrees Latitude" msgstr "" -#: ipalib/plugins/dns.py:1163 +#: ipaserver/plugins/dns.py:1103 msgid "Minutes Latitude" msgstr "" -#: ipalib/plugins/dns.py:1168 +#: ipaserver/plugins/dns.py:1108 msgid "Seconds Latitude" msgstr "" -#: ipalib/plugins/dns.py:1174 +#: ipaserver/plugins/dns.py:1114 msgid "Direction Latitude" msgstr "" -#: ipalib/plugins/dns.py:1178 +#: ipaserver/plugins/dns.py:1118 msgid "Degrees Longitude" msgstr "" -#: ipalib/plugins/dns.py:1183 +#: ipaserver/plugins/dns.py:1123 msgid "Minutes Longitude" msgstr "" -#: ipalib/plugins/dns.py:1188 +#: ipaserver/plugins/dns.py:1128 msgid "Seconds Longitude" msgstr "" -#: ipalib/plugins/dns.py:1194 +#: ipaserver/plugins/dns.py:1134 msgid "Direction Longitude" msgstr "" -#: ipalib/plugins/dns.py:1198 +#: ipaserver/plugins/dns.py:1138 msgid "Altitude" msgstr "" -#: ipalib/plugins/dns.py:1204 +#: ipaserver/plugins/dns.py:1144 msgid "Size" msgstr "" -#: ipalib/plugins/dns.py:1210 +#: ipaserver/plugins/dns.py:1150 msgid "Horizontal Precision" msgstr "" -#: ipalib/plugins/dns.py:1216 +#: ipaserver/plugins/dns.py:1156 msgid "Vertical Precision" msgstr "" -#: ipalib/plugins/dns.py:1223 +#: ipaserver/plugins/dns.py:1163 msgid "" "format must be specified as\n" " \"d1 [m1 [s1]] {\"N\"|\"S\"} d2 [m2 [s2]] {\"E\"|\"W\"} alt[\"m\"] " @@ -4417,788 +5534,930 @@ msgid "" " See RFC 1876 for details" msgstr "" -#: ipalib/plugins/dns.py:1277 +#: ipaserver/plugins/dns.py:1217 #, python-format msgid "'%(required)s' must not be empty when '%(name)s' is set" msgstr "" -#: ipalib/plugins/dns.py:1306 +#: ipaserver/plugins/dns.py:1246 msgid "A host willing to act as a mail exchanger" msgstr "" -#: ipalib/plugins/dns.py:1332 +#: ipaserver/plugins/dns.py:1272 msgid "flags must be one of \"S\", \"A\", \"U\", or \"P\"" msgstr "" -#: ipalib/plugins/dns.py:1340 +#: ipaserver/plugins/dns.py:1280 msgid "Order" msgstr "" -#: ipalib/plugins/dns.py:1351 +#: ipaserver/plugins/dns.py:1291 msgid "Flags" msgstr "" -#: ipalib/plugins/dns.py:1355 ipalib/plugins/hbactest.py:272 -#: ipalib/plugins/internal.py:665 ipalib/plugins/service.py:471 +#: ipaserver/plugins/dns.py:1295 ipaserver/plugins/hbactest.py:276 +#: ipaserver/plugins/internal.py:683 ipaserver/plugins/service.py:484 msgid "Service" msgstr "" -#: ipalib/plugins/dns.py:1358 +#: ipaserver/plugins/dns.py:1298 msgid "Regular Expression" msgstr "" -#: ipalib/plugins/dns.py:1361 +#: ipaserver/plugins/dns.py:1301 msgid "Replacement" msgstr "" -#: ipalib/plugins/dns.py:1378 +#: ipaserver/plugins/dns.py:1318 msgid "The hostname this reverse record points to" msgstr "" -#: ipalib/plugins/dns.py:1391 ipalib/plugins/pwpolicy.py:356 +#: ipaserver/plugins/dns.py:1331 ipaserver/plugins/pwpolicy.py:363 msgid "Priority" msgstr "" -#: ipalib/plugins/dns.py:1396 +#: ipaserver/plugins/dns.py:1336 msgid "Weight" msgstr "" -#: ipalib/plugins/dns.py:1401 +#: ipaserver/plugins/dns.py:1341 msgid "Port" msgstr "" -#: ipalib/plugins/dns.py:1407 +#: ipaserver/plugins/dns.py:1347 msgid "" "The domain name of the target host or '.' if the service is decidedly not " "available at this domain" msgstr "" -#: ipalib/plugins/dns.py:1416 +#: ipaserver/plugins/dns.py:1356 msgid "the value does not follow \"YYYYMMDDHHMMSS\" time format" msgstr "" -#: ipalib/plugins/dns.py:1443 +#: ipaserver/plugins/dns.py:1383 msgid "Fingerprint Type" msgstr "" -#: ipalib/plugins/dns.py:1448 +#: ipaserver/plugins/dns.py:1388 msgid "Fingerprint" msgstr "" -#: ipalib/plugins/dns.py:1465 +#: ipaserver/plugins/dns.py:1405 msgid "Certificate Usage" msgstr "" -#: ipalib/plugins/dns.py:1470 +#: ipaserver/plugins/dns.py:1410 msgid "Selector" msgstr "" -#: ipalib/plugins/dns.py:1475 +#: ipaserver/plugins/dns.py:1415 msgid "Matching Type" msgstr "" -#: ipalib/plugins/dns.py:1480 +#: ipaserver/plugins/dns.py:1420 msgid "Certificate Association Data" msgstr "" -#: ipalib/plugins/dns.py:1490 +#: ipaserver/plugins/dns.py:1430 msgid "Text Data" msgstr "" -#: ipalib/plugins/dns.py:1532 +#: ipaserver/plugins/dns.py:1472 msgid "Records" msgstr "" -#: ipalib/plugins/dns.py:1535 +#: ipaserver/plugins/dns.py:1475 msgid "Record type" msgstr "" -#: ipalib/plugins/dns.py:1568 +#: ipaserver/plugins/dns.py:1509 #, python-format msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record" msgstr "" -#: ipalib/plugins/dns.py:1614 +#: ipaserver/plugins/dns.py:1555 msgid "Managedby permission" msgstr "" -#: ipalib/plugins/dns.py:2003 +#: ipaserver/plugins/dns.py:1960 msgid "Zone name" msgstr "" -#: ipalib/plugins/dns.py:2004 +#: ipaserver/plugins/dns.py:1961 msgid "Zone name (FQDN)" msgstr "" -#: ipalib/plugins/dns.py:2010 +#: ipaserver/plugins/dns.py:1967 msgid "Reverse zone IP network" msgstr "" -#: ipalib/plugins/dns.py:2011 +#: ipaserver/plugins/dns.py:1968 msgid "IP network to create reverse zone name from" msgstr "" -#: ipalib/plugins/dns.py:2016 +#: ipaserver/plugins/dns.py:1973 msgid "Active zone" msgstr "" -#: ipalib/plugins/dns.py:2017 +#: ipaserver/plugins/dns.py:1974 msgid "Is zone active?" msgstr "" -#: ipalib/plugins/dns.py:2024 +#: ipaserver/plugins/dns.py:1981 msgid "Zone forwarders" msgstr "" -#: ipalib/plugins/dns.py:2025 +#: ipaserver/plugins/dns.py:1982 msgid "" "Per-zone forwarders. A custom port can be specified for each forwarder using " "a standard format \"IP_ADDRESS port PORT\"" msgstr "" -#: ipalib/plugins/dns.py:2031 ipalib/plugins/dns.py:4266 +#: ipaserver/plugins/dns.py:1987 ipaserver/plugins/dns.py:4046 +#: ipaserver/plugins/dnsserver.py:133 msgid "Forward policy" msgstr "" -#: ipalib/plugins/dns.py:2032 +#: ipaserver/plugins/dns.py:1988 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/dns.py:2042 ipalib/plugins/dns.py:2201 -#: ipalib/plugins/dns.py:3119 ipalib/plugins/dns.py:4314 +#: ipaserver/plugins/dns.py:1998 ipaserver/plugins/dns.py:2170 +#: ipaserver/plugins/dns.py:3120 ipaserver/plugins/dns.py:4113 +#: ipaserver/plugins/dnsserver.py:145 msgid "DNS is not configured" msgstr "" -#: ipalib/plugins/dns.py:2135 +#: ipaserver/plugins/dns.py:2079 +msgid "Force DNS zone creation even if it will overlap with an existing zone." +msgstr "" + +#: ipaserver/plugins/dns.py:2098 msgid "Only one zone type is allowed per zone name" msgstr "" -#: ipalib/plugins/dns.py:2170 ipalib/plugins/dns.py:2862 +#: ipaserver/plugins/dns.py:2139 ipaserver/plugins/dns.py:2862 msgid "Search for DNS zones (SOA records)." msgstr "" -#: ipalib/plugins/dns.py:2278 +#: ipaserver/plugins/dns.py:2247 #, python-format msgid "Added system permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2307 +#: ipaserver/plugins/dns.py:2276 #, python-format msgid "permission \"%(value)s\" already exists" msgstr "" -#: ipalib/plugins/dns.py:2335 +#: ipaserver/plugins/dns.py:2304 #, python-format msgid "Removed system permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2371 +#: ipaserver/plugins/dns.py:2340 msgid "DNS zone" msgstr "" -#: ipalib/plugins/dns.py:2372 +#: ipaserver/plugins/dns.py:2341 msgid "DNS zones" msgstr "" -#: ipalib/plugins/dns.py:2379 +#: ipaserver/plugins/dns.py:2348 msgid "DNS Zones" msgstr "" -#: ipalib/plugins/dns.py:2380 +#: ipaserver/plugins/dns.py:2349 msgid "DNS Zone" msgstr "" -#: ipalib/plugins/dns.py:2385 +#: ipaserver/plugins/dns.py:2354 msgid "Authoritative nameserver" msgstr "" -#: ipalib/plugins/dns.py:2386 +#: ipaserver/plugins/dns.py:2355 msgid "Authoritative nameserver domain name" msgstr "" -#: ipalib/plugins/dns.py:2392 ipalib/plugins/dns.py:2393 +#: ipaserver/plugins/dns.py:2361 ipaserver/plugins/dns.py:2362 msgid "Administrator e-mail address" msgstr "" -#: ipalib/plugins/dns.py:2400 +#: ipaserver/plugins/dns.py:2369 msgid "SOA serial" msgstr "" -#: ipalib/plugins/dns.py:2401 +#: ipaserver/plugins/dns.py:2370 msgid "SOA record serial number" msgstr "" -#: ipalib/plugins/dns.py:2409 +#: ipaserver/plugins/dns.py:2378 msgid "SOA refresh" msgstr "" -#: ipalib/plugins/dns.py:2410 +#: ipaserver/plugins/dns.py:2379 msgid "SOA record refresh time" msgstr "" -#: ipalib/plugins/dns.py:2418 +#: ipaserver/plugins/dns.py:2387 msgid "SOA retry" msgstr "" -#: ipalib/plugins/dns.py:2419 +#: ipaserver/plugins/dns.py:2388 msgid "SOA record retry time" msgstr "" -#: ipalib/plugins/dns.py:2427 +#: ipaserver/plugins/dns.py:2396 msgid "SOA expire" msgstr "" -#: ipalib/plugins/dns.py:2428 +#: ipaserver/plugins/dns.py:2397 msgid "SOA record expire time" msgstr "" -#: ipalib/plugins/dns.py:2436 +#: ipaserver/plugins/dns.py:2405 msgid "SOA minimum" msgstr "" -#: ipalib/plugins/dns.py:2437 +#: ipaserver/plugins/dns.py:2406 msgid "How long should negative responses be cached" msgstr "" -#: ipalib/plugins/dns.py:2445 ipalib/plugins/dns.py:2977 -#: ipalib/plugins/dns.py:2978 +#: ipaserver/plugins/dns.py:2414 ipaserver/plugins/dns.py:2978 +#: ipaserver/plugins/dns.py:2979 msgid "Time to live" msgstr "" -#: ipalib/plugins/dns.py:2446 +#: ipaserver/plugins/dns.py:2415 msgid "Time to live for records at zone apex" msgstr "" -#: ipalib/plugins/dns.py:2458 ipalib/plugins/dns.py:2459 +#: ipaserver/plugins/dns.py:2421 +msgid "Default time to live" +msgstr "" + +#: ipaserver/plugins/dns.py:2422 +msgid "Time to live for records without explicit TTL definition" +msgstr "" + +#: ipaserver/plugins/dns.py:2434 ipaserver/plugins/dns.py:2435 msgid "BIND update policy" msgstr "" -#: ipalib/plugins/dns.py:2465 +#: ipaserver/plugins/dns.py:2441 msgid "Dynamic update" msgstr "" -#: ipalib/plugins/dns.py:2466 +#: ipaserver/plugins/dns.py:2442 msgid "Allow dynamic updates." msgstr "" -#: ipalib/plugins/dns.py:2475 +#: ipaserver/plugins/dns.py:2451 msgid "Allow query" msgstr "" -#: ipalib/plugins/dns.py:2476 +#: ipaserver/plugins/dns.py:2452 msgid "" "Semicolon separated list of IP addresses or networks which are allowed to " "issue queries" msgstr "" -#: ipalib/plugins/dns.py:2484 +#: ipaserver/plugins/dns.py:2460 msgid "Allow transfer" msgstr "" -#: ipalib/plugins/dns.py:2485 +#: ipaserver/plugins/dns.py:2461 msgid "" "Semicolon separated list of IP addresses or networks which are allowed to " "transfer the zone" msgstr "" -#: ipalib/plugins/dns.py:2491 ipalib/plugins/dns.py:4273 +#: ipaserver/plugins/dns.py:2467 ipaserver/plugins/dns.py:4053 msgid "Allow PTR sync" msgstr "" -#: ipalib/plugins/dns.py:2492 +#: ipaserver/plugins/dns.py:2468 msgid "" "Allow synchronization of forward (A, AAAA) and reverse (PTR) records in the " "zone" msgstr "" -#: ipalib/plugins/dns.py:2497 +#: ipaserver/plugins/dns.py:2473 msgid "Allow in-line DNSSEC signing" msgstr "" -#: ipalib/plugins/dns.py:2498 +#: ipaserver/plugins/dns.py:2474 msgid "Allow inline DNSSEC signing of records in the zone" msgstr "" -#: ipalib/plugins/dns.py:2503 +#: ipaserver/plugins/dns.py:2479 msgid "NSEC3PARAM record" msgstr "" -#: ipalib/plugins/dns.py:2504 +#: ipaserver/plugins/dns.py:2480 msgid "" "NSEC3PARAM record for zone in format: hash_algorithm flags iterations salt" msgstr "" -#: ipalib/plugins/dns.py:2658 +#: ipaserver/plugins/dns.py:2637 msgid "setting Authoritative nameserver" msgstr "" -#: ipalib/plugins/dns.py:2659 +#: ipaserver/plugins/dns.py:2638 msgid "It is used only for setting the SOA MNAME attribute." msgstr "" -#: ipalib/plugins/dns.py:2661 +#: ipaserver/plugins/dns.py:2640 msgid "NS record(s) can be edited in zone apex - '@'. " msgstr "" -#: ipalib/plugins/dns.py:2692 +#: ipaserver/plugins/dns.py:2675 +msgid "" +msgstr "" + +#: ipaserver/plugins/dns.py:2682 msgid "Create new DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:2696 ipalib/plugins/dns.py:2824 -#: ipalib/plugins/dns.py:3553 ipalib/plugins/host.py:602 -#: ipalib/plugins/permission.py:1047 ipalib/plugins/realmdomains.py:129 -#: ipalib/plugins/service.py:527 -msgid "Force" +#: ipaserver/plugins/dns.py:2686 +msgid "" +"Force DNS zone creation even if nameserver is not resolvable. (Deprecated)" msgstr "" -#: ipalib/plugins/dns.py:2697 +#: ipaserver/plugins/dns.py:2691 msgid "Force DNS zone creation even if nameserver is not resolvable." msgstr "" -#: ipalib/plugins/dns.py:2733 +#: ipaserver/plugins/dns.py:2731 msgid "Nameserver for reverse zone cannot be a relative DNS name" msgstr "" -#: ipalib/plugins/dns.py:2787 +#: ipaserver/plugins/dns.py:2786 msgid "Delete DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:2789 +#: ipaserver/plugins/dns.py:2788 #, python-format msgid "Deleted DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2820 +#: ipaserver/plugins/dns.py:2819 msgid "Modify DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:2825 +#: ipaserver/plugins/dns.py:2823 ipaserver/plugins/dns.py:3508 +#: ipaserver/plugins/host.py:596 ipaserver/plugins/permission.py:1053 +#: ipaserver/plugins/realmdomains.py:129 ipaserver/plugins/service.py:547 +msgid "Force" +msgstr "" + +#: ipaserver/plugins/dns.py:2824 msgid "Force nameserver change even if nameserver not in DNS" msgstr "" -#: ipalib/plugins/dns.py:2842 +#: ipaserver/plugins/dns.py:2841 msgid "is required" msgstr "" -#: ipalib/plugins/dns.py:2866 +#: ipaserver/plugins/dns.py:2866 msgid "Forward zones only" msgstr "" -#: ipalib/plugins/dns.py:2868 +#: ipaserver/plugins/dns.py:2868 msgid "Search for forward zones only" msgstr "" -#: ipalib/plugins/dns.py:2903 +#: ipaserver/plugins/dns.py:2903 msgid "Display information about a DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:2921 +#: ipaserver/plugins/dns.py:2921 msgid "Disable DNS Zone." msgstr "" -#: ipalib/plugins/dns.py:2922 +#: ipaserver/plugins/dns.py:2922 #, python-format msgid "Disabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2932 +#: ipaserver/plugins/dns.py:2932 msgid "Enable DNS Zone." msgstr "" -#: ipalib/plugins/dns.py:2933 +#: ipaserver/plugins/dns.py:2933 #, python-format msgid "Enabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2943 +#: ipaserver/plugins/dns.py:2943 msgid "Add a permission for per-zone access delegation." msgstr "" -#: ipalib/plugins/dns.py:2948 +#: ipaserver/plugins/dns.py:2948 msgid "Remove a permission for per-zone access delegation." msgstr "" -#: ipalib/plugins/dns.py:2958 +#: ipaserver/plugins/dns.py:2958 msgid "DNS resource record" msgstr "" -#: ipalib/plugins/dns.py:2959 +#: ipaserver/plugins/dns.py:2959 msgid "DNS resource records" msgstr "" -#: ipalib/plugins/dns.py:2965 +#: ipaserver/plugins/dns.py:2966 msgid "DNS Resource Records" msgstr "" -#: ipalib/plugins/dns.py:2966 +#: ipaserver/plugins/dns.py:2967 msgid "DNS Resource Record" msgstr "" -#: ipalib/plugins/dns.py:2971 ipalib/plugins/dns.py:2972 +#: ipaserver/plugins/dns.py:2972 ipaserver/plugins/dns.py:2973 msgid "Record name" msgstr "" -#: ipalib/plugins/dns.py:2989 +#: ipaserver/plugins/dns.py:2990 msgid "Structured" msgstr "" -#: ipalib/plugins/dns.py:2990 +#: ipaserver/plugins/dns.py:2991 msgid "Parse all raw DNS records and return them in a structured way" msgstr "" -#: ipalib/plugins/dns.py:2999 +#: ipaserver/plugins/dns.py:3000 msgid "DS record must not be in zone apex (RFC 4035 section 2.4)" msgstr "" -#: ipalib/plugins/dns.py:3016 +#: ipaserver/plugins/dns.py:3017 msgid "" "out-of-zone data: record name must be a subdomain of the zone or a relative " "name" msgstr "" -#: ipalib/plugins/dns.py:3027 +#: ipaserver/plugins/dns.py:3028 #, python-format msgid "" "owner of %(types)s records should not be a wildcard domain name (RFC 4592 " "section 4)" msgstr "" -#: ipalib/plugins/dns.py:3056 +#: ipaserver/plugins/dns.py:3057 #, python-format msgid "" "Reverse zone for PTR record should be a sub-zone of one the following fully " "qualified domains: %s" msgstr "" -#: ipalib/plugins/dns.py:3071 +#: ipaserver/plugins/dns.py:3072 #, python-format msgid "" "Reverse zone %(name)s requires exactly %(count)d IP address components, " "%(user_count)d given" msgstr "" -#: ipalib/plugins/dns.py:3112 +#: ipaserver/plugins/dns.py:3113 msgid "only master zones can contain records" msgstr "" -#: ipalib/plugins/dns.py:3285 +#: ipaserver/plugins/dns.py:3226 msgid "only one CNAME record is allowed per name (RFC 2136, section 1.1.5)" msgstr "" -#: ipalib/plugins/dns.py:3291 +#: ipaserver/plugins/dns.py:3232 msgid "" "CNAME record is not allowed to coexist with any other record (RFC 1034, " "section 3.6.2)" msgstr "" -#: ipalib/plugins/dns.py:3299 +#: ipaserver/plugins/dns.py:3240 msgid "only one DNAME record is allowed per name (RFC 6672, section 2.4)" msgstr "" -#: ipalib/plugins/dns.py:3315 +#: ipaserver/plugins/dns.py:3256 #, 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/dns.py:3331 +#: ipaserver/plugins/dns.py:3272 msgid "" "DS record requires to coexist with an NS record (RFC 4592 section 4.6, RFC " "4035 section 2.4)" msgstr "" -#: ipalib/plugins/dns.py:3547 +#: ipaserver/plugins/dns.py:3502 msgid "Add new DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:3555 +#: ipaserver/plugins/dns.py:3510 msgid "force NS record creation even if its hostname is not in DNS" msgstr "" -#: ipalib/plugins/dns.py:3602 -msgid "Please choose a type of DNS resource record to be added" -msgstr "" - -#: ipalib/plugins/dns.py:3603 -#, python-format -msgid "The most common types for this type of zone are: %s\n" -msgstr "" - -#: ipalib/plugins/dns.py:3608 -msgid "DNS resource record type" -msgstr "" - -#: ipalib/plugins/dns.py:3624 -#, python-format -msgid "Invalid or unsupported type. Allowed values are: %s" -msgstr "" - -#: ipalib/plugins/dns.py:3652 +#: ipaserver/plugins/dns.py:3540 #, python-format msgid "Raw value of a DNS record was already set by \"%(name)s\" option" msgstr "" -#: ipalib/plugins/dns.py:3761 +#: ipaserver/plugins/dns.py:3649 msgid "Modify a DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:3778 +#: ipaserver/plugins/dns.py:3666 msgid "DNS zone root record cannot be renamed" msgstr "" -#: ipalib/plugins/dns.py:3796 +#: ipaserver/plugins/dns.py:3684 msgid "DNS records can be only updated one at a time" msgstr "" -#: ipalib/plugins/dns.py:3899 -msgid "No option to modify specific record provided." -msgstr "" - -#: ipalib/plugins/dns.py:3902 ipalib/plugins/dns.py:4095 -msgid "Current DNS record contents:\n" -msgstr "" - -#: ipalib/plugins/dns.py:3924 -#, python-format -msgid "Modify %(name)s '%(value)s'?" -msgstr "" - -#: ipalib/plugins/dns.py:3932 -#, 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/dns.py:3944 +#: ipaserver/plugins/dns.py:3779 #, python-format msgid "Deleted record \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:3951 +#: ipaserver/plugins/dns.py:3786 msgid "Delete DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:3955 -msgid "" -"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/dns.py:3961 +#: ipaserver/plugins/dns.py:3796 msgid "Delete all associated records" msgstr "" -#: ipalib/plugins/dns.py:4033 +#: ipaserver/plugins/dns.py:3867 #, python-format msgid "Zone record '%s' cannot be deleted" msgstr "" -#: ipalib/plugins/dns.py:4087 -msgid "No option to delete specific record provided." -msgstr "" - -#: ipalib/plugins/dns.py:4088 -msgid "Delete all?" -msgstr "" - -#: ipalib/plugins/dns.py:4116 -#, python-format -msgid "Delete %(name)s '%(value)s'?" -msgstr "" - -#: ipalib/plugins/dns.py:4127 +#: ipaserver/plugins/dns.py:3908 msgid "Display DNS resource." msgstr "" -#: ipalib/plugins/dns.py:4144 +#: ipaserver/plugins/dns.py:3925 msgid "Search for DNS resources." msgstr "" -#: ipalib/plugins/dns.py:4183 +#: ipaserver/plugins/dns.py:3964 msgid "Resolve a host name in DNS. (Deprecated)" msgstr "" -#: ipalib/plugins/dns.py:4188 +#: ipaserver/plugins/dns.py:3969 #, python-format msgid "Found '%(value)s'" msgstr "" -#: ipalib/plugins/dns.py:4192 +#: ipaserver/plugins/dns.py:3973 msgid "Hostname (FQDN)" msgstr "" -#: ipalib/plugins/dns.py:4201 +#: ipaserver/plugins/dns.py:3984 #, python-format msgid "Host '%(host)s' not found" msgstr "" -#: ipalib/plugins/dns.py:4247 +#: ipaserver/plugins/dns.py:4028 msgid "DNS configuration options" msgstr "" -#: ipalib/plugins/dns.py:4252 ipalib/plugins/dns.py:4253 +#: ipaserver/plugins/dns.py:4033 ipaserver/plugins/dns.py:4034 msgid "DNS Global Configuration" msgstr "" -#: ipalib/plugins/dns.py:4259 +#: ipaserver/plugins/dns.py:4040 msgid "Global forwarders" msgstr "" -#: ipalib/plugins/dns.py:4260 +#: ipaserver/plugins/dns.py:4041 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:4267 +#: ipaserver/plugins/dns.py:4047 msgid "" "Global forwarding policy. Set to \"none\" to disable any configured global " "forwarders." msgstr "" -#: ipalib/plugins/dns.py:4274 +#: ipaserver/plugins/dns.py:4054 msgid "Allow synchronization of forward (A, AAAA) and reverse (PTR) records" msgstr "" -#: ipalib/plugins/dns.py:4278 +#: ipaserver/plugins/dns.py:4059 msgid "Zone refresh interval" msgstr "" -#: ipalib/plugins/dns.py:4324 -msgid "Global DNS configuration is empty" +#: ipaserver/plugins/dns.py:4060 +msgid "An interval between regular polls of the name server for new DNS zones" msgstr "" -#: ipalib/plugins/dns.py:4330 -msgid "Modify global DNS configuration." +#: ipaserver/plugins/dns.py:4065 +msgid "IPA DNS version" msgstr "" -#: ipalib/plugins/dns.py:4338 ipalib/plugins/dns.py:4499 -#: ipalib/plugins/dns.py:4544 -msgid "Server will check DNS forwarder(s)." +#: ipaserver/plugins/dns.py:4069 +msgid "IPA DNS servers" msgstr "" -#: ipalib/plugins/dns.py:4340 ipalib/plugins/dns.py:4501 -#: ipalib/plugins/dns.py:4546 -msgid "This may take some time, please wait ..." +#: ipaserver/plugins/dns.py:4070 +msgid "List of IPA masters configured as DNS servers" +msgstr "" + +#: ipaserver/plugins/dns.py:4075 +msgid "IPA DNSSec key master" +msgstr "" + +#: ipaserver/plugins/dns.py:4076 +msgid "IPA server configured as DNSSec key master" +msgstr "" + +#: ipaserver/plugins/dns.py:4127 +msgid "Global DNS configuration is empty" msgstr "" -#: ipalib/plugins/dns.py:4381 +#: ipaserver/plugins/dns.py:4141 +msgid "Modify global DNS configuration." +msgstr "" + +#: ipaserver/plugins/dns.py:4198 msgid "Show the current global DNS configuration." msgstr "" -#: ipalib/plugins/dns.py:4394 +#: ipaserver/plugins/dns.py:4216 msgid "DNS forward zone" msgstr "" -#: ipalib/plugins/dns.py:4395 +#: ipaserver/plugins/dns.py:4217 msgid "DNS forward zones" msgstr "" -#: ipalib/plugins/dns.py:4397 +#: ipaserver/plugins/dns.py:4219 msgid "DNS Forward Zones" msgstr "" -#: ipalib/plugins/dns.py:4398 +#: ipaserver/plugins/dns.py:4220 msgid "DNS Forward Zone" msgstr "" -#: ipalib/plugins/dns.py:4492 +#: ipaserver/plugins/dns.py:4315 msgid "Create new DNS forward zone." msgstr "" -#: ipalib/plugins/dns.py:4515 ipalib/plugins/dns.py:4572 +#: ipaserver/plugins/dns.py:4329 ipaserver/plugins/dns.py:4379 msgid "Please specify forwarders." msgstr "" -#: ipalib/plugins/dns.py:4530 +#: ipaserver/plugins/dns.py:4346 msgid "Delete DNS forward zone." msgstr "" -#: ipalib/plugins/dns.py:4532 +#: ipaserver/plugins/dns.py:4348 #, python-format msgid "Deleted DNS forward zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:4537 +#: ipaserver/plugins/dns.py:4353 msgid "Modify DNS forward zone." msgstr "" -#: ipalib/plugins/dns.py:4585 +#: ipaserver/plugins/dns.py:4394 msgid "Search for DNS forward zones." msgstr "" -#: ipalib/plugins/dns.py:4590 +#: ipaserver/plugins/dns.py:4399 msgid "Display information about a DNS forward zone." msgstr "" -#: ipalib/plugins/dns.py:4597 +#: ipaserver/plugins/dns.py:4406 msgid "Disable DNS Forward Zone." msgstr "" -#: ipalib/plugins/dns.py:4598 +#: ipaserver/plugins/dns.py:4407 #, python-format msgid "Disabled DNS forward zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:4603 +#: ipaserver/plugins/dns.py:4412 msgid "Enable DNS Forward Zone." msgstr "" -#: ipalib/plugins/dns.py:4604 +#: ipaserver/plugins/dns.py:4413 #, python-format msgid "Enabled DNS forward zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:4614 +#: ipaserver/plugins/dns.py:4423 msgid "Add a permission for per-forward zone access delegation." msgstr "" -#: ipalib/plugins/dns.py:4619 +#: ipaserver/plugins/dns.py:4428 msgid "Remove a permission for per-forward zone access delegation." msgstr "" -#: ipalib/plugins/domainlevel.py:18 +#: ipaserver/plugins/dns.py:4436 +msgid "IPA DNS records" +msgstr "" + +#: ipaserver/plugins/dns.py:4440 +msgid "IPA location records" +msgstr "" + +#: ipaserver/plugins/dns.py:4447 +msgid "Update location and IPA server DNS records" +msgstr "" + +#: ipaserver/plugins/dns.py:4458 +msgid "Result of the command" +msgstr "" + +#: ipaserver/plugins/dns.py:4465 +msgid "Dry run" +msgstr "" + +#: ipaserver/plugins/dns.py:4466 +msgid "Do not update records only return expected records" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:34 +msgid "" +"\n" +"DNS server configuration\n" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:36 +msgid "" +"\n" +"Manipulate DNS server configuration\n" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:40 +msgid "" +"\n" +" Show configuration of a specific DNS server:\n" +" ipa dnsserver-show\n" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:43 +msgid "" +"\n" +" Update configuration of a specific DNS server:\n" +" ipa dnsserver-mod\n" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:59 +msgid "DNS server" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:60 +msgid "DNS servers" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:68 +msgid "DNS Servers" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:69 +msgid "DNS Server" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:109 ipaserver/plugins/server.py:95 +#: ipaserver/plugins/serverrole.py:53 +msgid "Server name" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:110 +msgid "DNS Server name" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:116 +msgid "SOA mname override" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:117 +msgid "SOA mname (authoritative server) override" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:123 +msgid "Forwarders" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:125 +msgid "" +"Per-server forwarders. A custom port can be specified for each forwarder " +"using a standard format \"IP_ADDRESS port PORT\"" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:135 +msgid "" +"Per-server conditional forwarding policy. Set to \"none\" to disable " +"forwarding to global forwarder for this zone. In that case, conditional zone " +"forwarders are disregarded." +msgstr "" + +#: ipaserver/plugins/dnsserver.py:151 +msgid "Modify DNS server configuration" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:153 +#, python-format +msgid "Modified DNS server \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:158 +msgid "Search for DNS servers." +msgstr "" + +#: ipaserver/plugins/dnsserver.py:161 +#, python-format +msgid "%(count)d DNS server matched" +msgid_plural "%(count)d DNS servers matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/dnsserver.py:168 +msgid "Display configuration of a DNS server." +msgstr "" + +#: ipaserver/plugins/dnsserver.py:177 +msgid "Add a new DNS server." +msgstr "" + +#: ipaserver/plugins/dnsserver.py:179 +#, python-format +msgid "Added new DNS server \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:188 +msgid "Delete a DNS server" +msgstr "" + +#: ipaserver/plugins/dnsserver.py:190 +#, python-format +msgid "Deleted DNS server \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/dogtag.py:1328 +msgid "Unable to communicate with CMS" +msgstr "" + +#: ipaserver/plugins/dogtag.py:1875 +msgid "find not supported on CAs upgraded from 9 to 10" +msgstr "" + +#: ipaserver/plugins/dogtag.py:2060 +msgid "Failed to authenticate to CA REST API" +msgstr "" + +#: ipaserver/plugins/dogtag.py:2085 +msgid "REST API is not logged in." +msgstr "" + +#: ipaserver/plugins/dogtag.py:2105 +#, python-format +msgid "Non-2xx response from CA REST API: %(status)d. %(explanation)s" +msgstr "" + +#: ipaserver/plugins/dogtag.py:2198 ipaserver/plugins/dogtag.py:2206 +msgid "Response from CA was not valid JSON" +msgstr "" + +#: ipaserver/plugins/domainlevel.py:17 msgid "" "\n" "Raise the IPA Domain Level.\n" msgstr "" -#: ipalib/plugins/domainlevel.py:27 +#: ipaserver/plugins/domainlevel.py:26 msgid "Current domain level:" msgstr "" -#: ipalib/plugins/domainlevel.py:76 +#: ipaserver/plugins/domainlevel.py:75 msgid "Query current Domain Level." msgstr "" -#: ipalib/plugins/domainlevel.py:92 +#: ipaserver/plugins/domainlevel.py:91 msgid "Change current Domain Level." msgstr "" -#: ipalib/plugins/domainlevel.py:99 ipalib/plugins/internal.py:475 -#: ipalib/plugins/internal.py:476 +#: ipaserver/plugins/domainlevel.py:98 ipaserver/plugins/internal.py:484 +#: ipaserver/plugins/internal.py:485 msgid "Domain Level" msgstr "" -#: ipalib/plugins/domainlevel.py:122 +#: ipaserver/plugins/domainlevel.py:121 msgid "Domain Level cannot be lowered." msgstr "" -#: ipalib/plugins/domainlevel.py:130 +#: ipaserver/plugins/domainlevel.py:129 #, python-brace-format msgid "Domain Level cannot be raised to {0}, server {1} does not support it." msgstr "" -#: ipalib/plugins/group.py:41 +#: ipaserver/plugins/group.py:57 msgid "" "\n" "Groups of users\n" @@ -5290,167 +6549,171 @@ msgid "" " ipa group-show ad_admins_external\n" msgstr "" -#: ipalib/plugins/group.py:132 ipalib/plugins/group.py:322 -#: ipalib/plugins/group.py:563 ipalib/plugins/user.py:123 +#: ipaserver/plugins/group.py:144 +msgid "External member" +msgstr "" + +#: ipaserver/plugins/group.py:145 +msgid "Members of a trusted domain in DOM\\name or name@domain form" +msgstr "" + +#: ipaserver/plugins/group.py:156 ipaserver/plugins/group.py:338 +#: ipaserver/plugins/group.py:580 ipaserver/plugins/user.py:139 msgid "group" msgstr "" -#: ipalib/plugins/group.py:133 +#: ipaserver/plugins/group.py:157 msgid "groups" msgstr "" -#: ipalib/plugins/group.py:235 +#: ipaserver/plugins/group.py:259 msgid "User Group" msgstr "" -#: ipalib/plugins/group.py:243 ipalib/plugins/idviews.py:925 +#: ipaserver/plugins/group.py:267 ipaserver/plugins/idviews.py:948 msgid "Group name" msgstr "" -#: ipalib/plugins/group.py:250 ipalib/plugins/sudocmdgroup.py:123 +#: ipaserver/plugins/group.py:274 ipaserver/plugins/sudocmdgroup.py:131 msgid "Group description" msgstr "" -#: ipalib/plugins/group.py:255 +#: ipaserver/plugins/group.py:279 msgid "GID (use this option to set it manually)" msgstr "" -#: ipalib/plugins/group.py:263 -msgid "External member" -msgstr "" - -#: ipalib/plugins/group.py:264 -msgid "Members of a trusted domain in DOM\\name or name@domain form" -msgstr "" - -#: ipalib/plugins/group.py:272 +#: ipaserver/plugins/group.py:288 msgid "Create a new group." msgstr "" -#: ipalib/plugins/group.py:274 +#: ipaserver/plugins/group.py:290 #, python-format msgid "Added group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:279 +#: ipaserver/plugins/group.py:295 msgid "Create as a non-POSIX group" msgstr "" -#: ipalib/plugins/group.py:284 +#: ipaserver/plugins/group.py:300 msgid "Allow adding external non-IPA members from trusted domains" msgstr "" -#: ipalib/plugins/group.py:297 +#: ipaserver/plugins/group.py:313 msgid "gid cannot be set for external group" msgstr "" -#: ipalib/plugins/group.py:307 +#: ipaserver/plugins/group.py:323 msgid "Delete group." msgstr "" -#: ipalib/plugins/group.py:309 +#: ipaserver/plugins/group.py:325 #, python-format msgid "Deleted group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:323 +#: ipaserver/plugins/group.py:339 msgid "privileged group" msgstr "" -#: ipalib/plugins/group.py:344 +#: ipaserver/plugins/group.py:360 msgid "Modify a group." msgstr "" -#: ipalib/plugins/group.py:346 +#: ipaserver/plugins/group.py:362 #, python-format msgid "Modified group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:351 +#: ipaserver/plugins/group.py:367 msgid "change to a POSIX group" msgstr "" -#: ipalib/plugins/group.py:355 +#: ipaserver/plugins/group.py:371 msgid "change to support external non-IPA members from trusted domains" msgstr "" -#: ipalib/plugins/group.py:415 +#: ipaserver/plugins/group.py:431 msgid "Search for groups." msgstr "" -#: ipalib/plugins/group.py:420 +#: ipaserver/plugins/group.py:436 #, python-format msgid "%(count)d group matched" msgid_plural "%(count)d groups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/group.py:426 +#: ipaserver/plugins/group.py:442 msgid "search for private groups" msgstr "" -#: ipalib/plugins/group.py:430 +#: ipaserver/plugins/group.py:446 msgid "search for POSIX groups" msgstr "" -#: ipalib/plugins/group.py:434 +#: ipaserver/plugins/group.py:450 msgid "" "search for groups with support of external non-IPA members from trusted " "domains" msgstr "" -#: ipalib/plugins/group.py:438 +#: ipaserver/plugins/group.py:454 msgid "search for non-POSIX groups" msgstr "" -#: ipalib/plugins/group.py:484 +#: ipaserver/plugins/group.py:501 msgid "Display information about a named group." msgstr "" -#: ipalib/plugins/group.py:505 +#: ipaserver/plugins/group.py:522 msgid "Add members to a group." msgstr "" -#: ipalib/plugins/group.py:514 ipalib/plugins/group.py:571 -#: ipalib/plugins/hbactest.py:389 +#: ipaserver/plugins/group.py:531 ipaserver/plugins/group.py:588 +#: ipaserver/plugins/hbactest.py:393 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:519 ipalib/plugins/group.py:576 -#: ipalib/plugins/trust.py:780 ipalib/plugins/trust.py:1596 +#: ipaserver/plugins/group.py:536 ipaserver/plugins/group.py:593 +#: ipaserver/plugins/trust.py:824 ipaserver/plugins/trust.py:1716 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:550 +#: ipaserver/plugins/group.py:567 msgid "Remove members from a group." msgstr "" -#: ipalib/plugins/group.py:607 +#: ipaserver/plugins/group.py:624 msgid "Detach a managed group from a user." msgstr "" -#: ipalib/plugins/group.py:610 +#: ipaserver/plugins/group.py:627 #, python-format msgid "Detached group \"%(value)s\" from user \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:631 +#: ipaserver/plugins/group.py:648 msgid "not allowed to modify user entries" msgstr "" -#: ipalib/plugins/group.py:637 +#: ipaserver/plugins/group.py:654 msgid "not allowed to modify group entries" msgstr "" -#: ipalib/plugins/group.py:656 +#: ipaserver/plugins/group.py:673 msgid "Not a managed group" msgstr "" -#: ipalib/plugins/hbacrule.py:26 +#: ipaserver/plugins/hbac.py:7 +msgid "Host-based access control commands" +msgstr "" + +#: ipaserver/plugins/hbacrule.py:39 msgid "" "\n" "Host-based access control\n" @@ -5501,150 +6764,162 @@ msgid "" " ipa hbacrule-del allow_server\n" msgstr "" -#: ipalib/plugins/hbacrule.py:91 -msgid "Host-based access control commands" -msgstr "" - -#: ipalib/plugins/hbacrule.py:95 +#: ipaserver/plugins/hbacrule.py:108 msgid "The deny type has been deprecated." msgstr "" -#: ipalib/plugins/hbacrule.py:118 +#: ipaserver/plugins/hbacrule.py:131 msgid "HBAC rule" msgstr "" -#: ipalib/plugins/hbacrule.py:119 +#: ipaserver/plugins/hbacrule.py:132 msgid "HBAC rules" msgstr "" -#: ipalib/plugins/hbacrule.py:188 +#: ipaserver/plugins/hbacrule.py:201 msgid "HBAC Rules" msgstr "" -#: ipalib/plugins/hbacrule.py:189 ipalib/plugins/selinuxusermap.py:210 +#: ipaserver/plugins/hbacrule.py:202 ipaserver/plugins/selinuxusermap.py:224 msgid "HBAC Rule" msgstr "" -#: ipalib/plugins/hbacrule.py:194 ipalib/plugins/selinuxusermap.py:201 -#: ipalib/plugins/sudorule.py:222 +#: ipaserver/plugins/hbacrule.py:207 ipaserver/plugins/selinuxusermap.py:215 +#: ipaserver/plugins/sudorule.py:222 msgid "Rule name" msgstr "" -#: ipalib/plugins/hbacrule.py:199 +#: ipaserver/plugins/hbacrule.py:212 msgid "Rule type (allow)" msgstr "" -#: ipalib/plugins/hbacrule.py:200 +#: ipaserver/plugins/hbacrule.py:213 msgid "Rule type" msgstr "" -#: ipalib/plugins/hbacrule.py:211 ipalib/plugins/netgroup.py:215 -#: ipalib/plugins/selinuxusermap.py:216 ipalib/plugins/sudorule.py:236 +#: ipaserver/plugins/hbacrule.py:224 ipaserver/plugins/netgroup.py:228 +#: ipaserver/plugins/selinuxusermap.py:230 ipaserver/plugins/sudorule.py:236 msgid "User category the rule applies to" msgstr "" -#: ipalib/plugins/hbacrule.py:217 ipalib/plugins/netgroup.py:221 -#: ipalib/plugins/selinuxusermap.py:222 ipalib/plugins/sudorule.py:242 +#: ipaserver/plugins/hbacrule.py:230 ipaserver/plugins/netgroup.py:234 +#: ipaserver/plugins/selinuxusermap.py:236 ipaserver/plugins/sudorule.py:242 msgid "Host category the rule applies to" msgstr "" -#: ipalib/plugins/hbacrule.py:224 +#: ipaserver/plugins/hbacrule.py:236 +msgid "Source host category" +msgstr "" + +#: ipaserver/plugins/hbacrule.py:237 +msgid "Source host category the rule applies to" +msgstr "" + +#: ipaserver/plugins/hbacrule.py:244 msgid "Service category the rule applies to" msgstr "" -#: ipalib/plugins/hbacrule.py:262 +#: ipaserver/plugins/hbacrule.py:277 +msgid "Source Hosts" +msgstr "" + +#: ipaserver/plugins/hbacrule.py:282 +msgid "Source Host Groups" +msgstr "" + +#: ipaserver/plugins/hbacrule.py:290 msgid "Service Groups" msgstr "" -#: ipalib/plugins/hbacrule.py:272 +#: ipaserver/plugins/hbacrule.py:300 msgid "Create a new HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:274 +#: ipaserver/plugins/hbacrule.py:302 #, python-format msgid "Added HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:286 +#: ipaserver/plugins/hbacrule.py:314 msgid "Delete an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:288 +#: ipaserver/plugins/hbacrule.py:316 #, python-format msgid "Deleted HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:303 +#: ipaserver/plugins/hbacrule.py:331 msgid "Modify an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:305 +#: ipaserver/plugins/hbacrule.py:333 #, python-format msgid "Modified HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:327 +#: ipaserver/plugins/hbacrule.py:355 msgid "Search for HBAC rules." msgstr "" -#: ipalib/plugins/hbacrule.py:330 +#: ipaserver/plugins/hbacrule.py:358 #, python-format msgid "%(count)d HBAC rule matched" msgid_plural "%(count)d HBAC rules matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/hbacrule.py:337 +#: ipaserver/plugins/hbacrule.py:365 msgid "Display the properties of an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:343 +#: ipaserver/plugins/hbacrule.py:371 msgid "Enable an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:345 +#: ipaserver/plugins/hbacrule.py:373 #, python-format msgid "Enabled HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:373 +#: ipaserver/plugins/hbacrule.py:401 msgid "Disable an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:375 +#: ipaserver/plugins/hbacrule.py:403 #, python-format msgid "Disabled HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:409 ipalib/plugins/hbacrule.py:449 +#: ipaserver/plugins/hbacrule.py:437 ipaserver/plugins/hbacrule.py:468 msgid "Access time" msgstr "" -#: ipalib/plugins/hbacrule.py:484 +#: ipaserver/plugins/hbacrule.py:493 msgid "Add users and groups to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:506 +#: ipaserver/plugins/hbacrule.py:515 msgid "Remove users and groups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:515 +#: ipaserver/plugins/hbacrule.py:524 msgid "Add target hosts and hostgroups to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:537 +#: ipaserver/plugins/hbacrule.py:546 msgid "Remove target hosts and hostgroups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:570 +#: ipaserver/plugins/hbacrule.py:579 msgid "Add services to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:592 +#: ipaserver/plugins/hbacrule.py:601 msgid "Remove service and service groups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacsvc.py:28 +#: ipaserver/plugins/hbacsvc.py:28 msgid "" "\n" "HBAC Services\n" @@ -5669,77 +6944,73 @@ msgid "" "\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 +#: ipaserver/plugins/hbacsvc.py:61 ipaserver/plugins/hbacsvc.py:102 msgid "HBAC service" msgstr "" -#: ipalib/plugins/hbacsvc.py:62 +#: ipaserver/plugins/hbacsvc.py:62 msgid "HBAC services" msgstr "" -#: ipalib/plugins/hbacsvc.py:95 +#: ipaserver/plugins/hbacsvc.py:95 msgid "HBAC Services" msgstr "" -#: ipalib/plugins/hbacsvc.py:96 +#: ipaserver/plugins/hbacsvc.py:96 msgid "HBAC Service" msgstr "" -#: ipalib/plugins/hbacsvc.py:101 +#: ipaserver/plugins/hbacsvc.py:101 msgid "Service name" msgstr "" -#: ipalib/plugins/hbacsvc.py:109 +#: ipaserver/plugins/hbacsvc.py:109 msgid "HBAC service description" msgstr "" -#: ipalib/plugins/hbacsvc.py:117 +#: ipaserver/plugins/hbacsvc.py:117 msgid "Add a new HBAC service." msgstr "" -#: ipalib/plugins/hbacsvc.py:119 +#: ipaserver/plugins/hbacsvc.py:119 #, python-format msgid "Added HBAC service \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvc.py:125 +#: ipaserver/plugins/hbacsvc.py:125 msgid "Delete an existing HBAC service." msgstr "" -#: ipalib/plugins/hbacsvc.py:127 +#: ipaserver/plugins/hbacsvc.py:127 #, python-format msgid "Deleted HBAC service \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvc.py:133 +#: ipaserver/plugins/hbacsvc.py:133 msgid "Modify an HBAC service." msgstr "" -#: ipalib/plugins/hbacsvc.py:135 +#: ipaserver/plugins/hbacsvc.py:135 #, python-format msgid "Modified HBAC service \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvc.py:141 +#: ipaserver/plugins/hbacsvc.py:141 msgid "Search for HBAC services." msgstr "" -#: ipalib/plugins/hbacsvc.py:144 +#: ipaserver/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 +#: ipaserver/plugins/hbacsvc.py:151 msgid "Display information about an HBAC service." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:25 +#: ipaserver/plugins/hbacsvcgroup.py:33 msgid "" "\n" "HBAC Service Groups\n" @@ -5762,81 +7033,81 @@ msgid "" " ipa hbacsvcgroup-del login\n" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:56 +#: ipaserver/plugins/hbacsvcgroup.py:64 msgid "HBAC service group" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:57 +#: ipaserver/plugins/hbacsvcgroup.py:65 msgid "HBAC service groups" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:100 +#: ipaserver/plugins/hbacsvcgroup.py:108 msgid "HBAC Service Groups" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:101 +#: ipaserver/plugins/hbacsvcgroup.py:109 msgid "HBAC Service Group" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:106 +#: ipaserver/plugins/hbacsvcgroup.py:114 msgid "Service group name" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:113 +#: ipaserver/plugins/hbacsvcgroup.py:121 msgid "HBAC service group description" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:121 +#: ipaserver/plugins/hbacsvcgroup.py:129 msgid "Add a new HBAC service group." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:123 +#: ipaserver/plugins/hbacsvcgroup.py:131 #, python-format msgid "Added HBAC service group \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:129 +#: ipaserver/plugins/hbacsvcgroup.py:137 msgid "Delete an HBAC service group." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:131 +#: ipaserver/plugins/hbacsvcgroup.py:139 #, python-format msgid "Deleted HBAC service group \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:137 +#: ipaserver/plugins/hbacsvcgroup.py:145 msgid "Modify an HBAC service group." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:139 +#: ipaserver/plugins/hbacsvcgroup.py:147 #, python-format msgid "Modified HBAC service group \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:145 +#: ipaserver/plugins/hbacsvcgroup.py:153 msgid "Search for an HBAC service group." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:148 +#: ipaserver/plugins/hbacsvcgroup.py:156 #, 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 +#: ipaserver/plugins/hbacsvcgroup.py:163 msgid "Display information about an HBAC service group." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:161 +#: ipaserver/plugins/hbacsvcgroup.py:169 msgid "Add members to an HBAC service group." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:167 +#: ipaserver/plugins/hbacsvcgroup.py:175 msgid "Remove members from an HBAC service group." msgstr "" -#: ipalib/plugins/hbactest.py:39 +#: ipaserver/plugins/hbactest.py:38 msgid "" "\n" "Simulate use of Host-based access controls\n" @@ -6034,75 +7305,79 @@ msgid "" " Not matched rules: can_login\n" msgstr "" -#: ipalib/plugins/hbactest.py:248 +#: ipaserver/plugins/hbactest.py:247 msgid "Simulate use of Host-based access controls" msgstr "" -#: ipalib/plugins/hbactest.py:252 +#: ipaserver/plugins/hbactest.py:251 msgid "Warning" msgstr "" -#: ipalib/plugins/hbactest.py:253 +#: ipaserver/plugins/hbactest.py:252 msgid "Matched rules" msgstr "" -#: ipalib/plugins/hbactest.py:254 +#: ipaserver/plugins/hbactest.py:253 msgid "Not matched rules" msgstr "" -#: ipalib/plugins/hbactest.py:255 +#: ipaserver/plugins/hbactest.py:254 msgid "Non-existent or invalid rules" msgstr "" -#: ipalib/plugins/hbactest.py:256 +#: ipaserver/plugins/hbactest.py:255 msgid "Result of simulation" msgstr "" -#: ipalib/plugins/hbactest.py:262 ipalib/plugins/krbtpolicy.py:124 -#: ipalib/plugins/passwd.py:74 +#: ipaserver/plugins/hbactest.py:261 ipaserver/plugins/krbtpolicy.py:124 +#: ipaserver/plugins/passwd.py:74 msgid "User name" msgstr "" -#: ipalib/plugins/hbactest.py:268 +#: ipaserver/plugins/hbactest.py:267 +msgid "Source host" +msgstr "" + +#: ipaserver/plugins/hbactest.py:272 msgid "Target host" msgstr "" -#: ipalib/plugins/hbactest.py:276 +#: ipaserver/plugins/hbactest.py:280 msgid "Rules to test. If not specified, --enabled is assumed" msgstr "" -#: ipalib/plugins/hbactest.py:281 +#: ipaserver/plugins/hbactest.py:284 msgid "Hide details which rules are matched, not matched, or invalid" msgstr "" -#: ipalib/plugins/hbactest.py:285 +#: ipaserver/plugins/hbactest.py:288 msgid "Include all enabled IPA rules into test [default]" msgstr "" -#: ipalib/plugins/hbactest.py:289 +#: ipaserver/plugins/hbactest.py:292 msgid "Include all disabled IPA rules into test" msgstr "" -#: ipalib/plugins/hbactest.py:293 +#: ipaserver/plugins/hbactest.py:296 msgid "Maximum number of rules to process when no --rules is specified" msgstr "" -#: ipalib/plugins/hbactest.py:371 +#: ipaserver/plugins/hbactest.py:375 msgid "Unresolved rules in --rules" msgstr "" -#: ipalib/plugins/hbactest.py:395 ipalib/plugins/trust.py:347 +#: ipaserver/plugins/hbactest.py:399 ipaserver/plugins/trust.py:374 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:482 +#: ipaserver/plugins/hbactest.py:486 #, python-format msgid "Access granted: %s" msgstr "" -#: ipalib/plugins/host.py:57 +#: ipaserver/plugins/host.py:63 msgid "" "\n" "Hosts/Machines\n" @@ -6114,7 +7389,7 @@ msgid "" "- every enrolled client generates a host entry\n" msgstr "" -#: ipalib/plugins/host.py:65 +#: ipaserver/plugins/host.py:71 msgid "" "\n" "ENROLLMENT:\n" @@ -6130,7 +7405,7 @@ msgid "" "3. The host has been created with a one-time password.\n" msgstr "" -#: ipalib/plugins/host.py:77 +#: ipaserver/plugins/host.py:83 msgid "" "\n" "RE-ENROLLMENT:\n" @@ -6145,7 +7420,7 @@ msgid "" "the OS that it runs, etc.\n" msgstr "" -#: ipalib/plugins/host.py:89 +#: ipaserver/plugins/host.py:95 msgid "" "\n" " Add a new host:\n" @@ -6153,356 +7428,341 @@ msgid "" "com\n" msgstr "" -#: ipalib/plugins/host.py:92 +#: ipaserver/plugins/host.py:98 msgid "" "\n" " Delete a host:\n" " ipa host-del test.example.com\n" msgstr "" -#: ipalib/plugins/host.py:95 +#: ipaserver/plugins/host.py:101 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:98 +#: ipaserver/plugins/host.py:104 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:101 +#: ipaserver/plugins/host.py:107 msgid "" "\n" " Modify information about a host:\n" " ipa host-mod --os='Fedora 12' test.example.com\n" msgstr "" -#: ipalib/plugins/host.py:104 +#: ipaserver/plugins/host.py:110 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:107 +#: ipaserver/plugins/host.py:113 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:110 +#: ipaserver/plugins/host.py:116 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:113 +#: ipaserver/plugins/host.py:119 msgid "" "\n" " Allow user to create a keytab:\n" " ipa host-allow-create-keytab test2 --users=tuser1\n" msgstr "" -#: ipalib/plugins/host.py:185 ipalib/plugins/service.py:107 +#: ipaserver/plugins/host.py:192 ipaserver/plugins/service.py:120 msgid "Keytab" msgstr "" -#: ipalib/plugins/host.py:197 ipalib/plugins/internal.py:418 -#: ipalib/plugins/service.py:116 +#: ipaserver/plugins/host.py:204 ipaserver/plugins/internal.py:426 +#: ipaserver/plugins/service.py:129 msgid "Serial Number" msgstr "" -#: ipalib/plugins/host.py:200 ipalib/plugins/internal.py:419 -#: ipalib/plugins/service.py:119 +#: ipaserver/plugins/host.py:207 ipaserver/plugins/internal.py:427 +#: ipaserver/plugins/service.py:132 msgid "Serial Number (hex)" msgstr "" -#: ipalib/plugins/host.py:221 -msgid "Failed managedby" -msgstr "" - -#: ipalib/plugins/host.py:227 ipalib/plugins/service.py:140 +#: ipaserver/plugins/host.py:234 ipaserver/plugins/service.py:153 msgid "Users allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/host.py:230 ipalib/plugins/service.py:143 +#: ipaserver/plugins/host.py:237 ipaserver/plugins/service.py:156 msgid "Groups allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/host.py:233 ipalib/plugins/service.py:146 +#: ipaserver/plugins/host.py:240 ipaserver/plugins/service.py:159 msgid "Hosts allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/host.py:236 ipalib/plugins/service.py:149 +#: ipaserver/plugins/host.py:243 ipaserver/plugins/service.py:162 msgid "Host Groups allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/host.py:239 ipalib/plugins/service.py:152 +#: ipaserver/plugins/host.py:246 ipaserver/plugins/service.py:165 msgid "Users allowed to create keytab" msgstr "" -#: ipalib/plugins/host.py:242 ipalib/plugins/service.py:155 +#: ipaserver/plugins/host.py:249 ipaserver/plugins/service.py:168 msgid "Groups allowed to create keytab" msgstr "" -#: ipalib/plugins/host.py:245 ipalib/plugins/service.py:158 +#: ipaserver/plugins/host.py:252 ipaserver/plugins/service.py:171 msgid "Hosts allowed to create keytab" msgstr "" -#: ipalib/plugins/host.py:248 ipalib/plugins/service.py:161 +#: ipaserver/plugins/host.py:255 ipaserver/plugins/service.py:174 msgid "Host Groups allowed to create keytab" msgstr "" -#: ipalib/plugins/host.py:251 ipalib/plugins/service.py:164 -msgid "Failed allowed to retrieve keytab" -msgstr "" - -#: ipalib/plugins/host.py:254 ipalib/plugins/service.py:167 -msgid "Failed allowed to create keytab" -msgstr "" - -#: ipalib/plugins/host.py:282 -#, python-format -msgid "invalid domain-name: %s" -msgstr "" - -#: ipalib/plugins/host.py:293 ipalib/plugins/sudorule.py:428 +#: ipaserver/plugins/host.py:283 ipaserver/plugins/sudorule.py:428 msgid "host" msgstr "" -#: ipalib/plugins/host.py:294 ipalib/plugins/idviews.py:367 -#: ipalib/plugins/idviews.py:410 ipalib/plugins/sudorule.py:428 +#: ipaserver/plugins/host.py:284 ipaserver/plugins/idviews.py:369 +#: ipaserver/plugins/idviews.py:412 ipaserver/plugins/sudorule.py:428 msgid "hosts" msgstr "" -#: ipalib/plugins/host.py:455 ipalib/plugins/internal.py:584 -#: ipalib/plugins/internal.py:653 +#: ipaserver/plugins/host.py:451 ipaserver/plugins/internal.py:595 +#: ipaserver/plugins/internal.py:664 msgid "Host" msgstr "" -#: ipalib/plugins/host.py:460 +#: ipaserver/plugins/host.py:456 msgid "Host name" msgstr "" -#: ipalib/plugins/host.py:467 +#: ipaserver/plugins/host.py:463 msgid "A description of this host" msgstr "" -#: ipalib/plugins/host.py:471 +#: ipaserver/plugins/host.py:467 msgid "Locality" msgstr "" -#: ipalib/plugins/host.py:472 +#: ipaserver/plugins/host.py:468 msgid "Host locality (e.g. \"Baltimore, MD\")" msgstr "" -#: ipalib/plugins/host.py:477 +#: ipaserver/plugins/host.py:473 msgid "Host location (e.g. \"Lab 2\")" msgstr "" -#: ipalib/plugins/host.py:481 +#: ipaserver/plugins/host.py:477 msgid "Platform" msgstr "" -#: ipalib/plugins/host.py:482 +#: ipaserver/plugins/host.py:478 msgid "Host hardware platform (e.g. \"Lenovo T61\")" msgstr "" -#: ipalib/plugins/host.py:486 +#: ipaserver/plugins/host.py:482 msgid "Operating system" msgstr "" -#: ipalib/plugins/host.py:487 +#: ipaserver/plugins/host.py:483 msgid "Host operating system and version (e.g. \"Fedora 9\")" msgstr "" -#: ipalib/plugins/host.py:491 +#: ipaserver/plugins/host.py:487 msgid "User password" msgstr "" -#: ipalib/plugins/host.py:492 +#: ipaserver/plugins/host.py:488 msgid "Password used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:495 +#: ipaserver/plugins/host.py:491 msgid "Generate a random password to be used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:509 ipalib/plugins/host.py:813 +#: ipaserver/plugins/host.py:502 +msgid "Base-64 encoded host certificate" +msgstr "" + +#: ipaserver/plugins/host.py:505 ipaserver/plugins/host.py:814 msgid "Principal name" msgstr "" -#: ipalib/plugins/host.py:518 +#: ipaserver/plugins/host.py:513 msgid "MAC address" msgstr "" -#: ipalib/plugins/host.py:519 +#: ipaserver/plugins/host.py:514 msgid "Hardware MAC address(es) on this host" msgstr "" -#: ipalib/plugins/host.py:531 +#: ipaserver/plugins/host.py:525 msgid "" "Host category (semantics placed on this attribute are for local " "interpretation)" msgstr "" -#: ipalib/plugins/host.py:535 ipalib/plugins/internal.py:566 +#: ipaserver/plugins/host.py:529 ipaserver/plugins/internal.py:577 msgid "Assigned ID View" msgstr "" -#: ipalib/plugins/host.py:595 +#: ipaserver/plugins/host.py:589 msgid "Add a new host." msgstr "" -#: ipalib/plugins/host.py:598 +#: ipaserver/plugins/host.py:592 #, python-format msgid "Added host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:603 +#: ipaserver/plugins/host.py:597 msgid "force host name even if not in DNS" msgstr "" -#: ipalib/plugins/host.py:606 +#: ipaserver/plugins/host.py:600 msgid "skip reverse DNS detection" msgstr "" -#: ipalib/plugins/host.py:609 +#: ipaserver/plugins/host.py:603 msgid "Add the host to DNS with this IP address" msgstr "" -#: ipalib/plugins/host.py:694 +#: ipaserver/plugins/host.py:686 #, python-format msgid "The host was added but the DNS update failed with: %(exc)s" msgstr "" -#: ipalib/plugins/host.py:715 +#: ipaserver/plugins/host.py:707 msgid "Delete a host." msgstr "" -#: ipalib/plugins/host.py:717 +#: ipaserver/plugins/host.py:709 #, python-format msgid "Deleted host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:722 -msgid "Remove entries from DNS" +#: ipaserver/plugins/host.py:714 +msgid "Remove A, AAAA, SSHFP and PTR records of the host(s) managed by IPA DNS" +msgstr "" + +#: ipaserver/plugins/host.py:788 +msgid "No A, AAAA, SSHFP or PTR records found." msgstr "" -#: ipalib/plugins/host.py:804 +#: ipaserver/plugins/host.py:805 msgid "Modify information about a host." msgstr "" -#: ipalib/plugins/host.py:807 +#: ipaserver/plugins/host.py:808 #, python-format msgid "Modified host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:814 +#: ipaserver/plugins/host.py:815 msgid "Kerberos principal name for this host" msgstr "" -#: ipalib/plugins/host.py:818 +#: ipaserver/plugins/host.py:819 msgid "Update DNS entries" msgstr "" -#: ipalib/plugins/host.py:833 +#: ipaserver/plugins/host.py:834 msgid "Password cannot be set on enrolled host." msgstr "" -#: ipalib/plugins/host.py:837 +#: ipaserver/plugins/host.py:838 msgid "cn is immutable" msgstr "" -#: ipalib/plugins/host.py:942 +#: ipaserver/plugins/host.py:944 msgid "Search for hosts." msgstr "" -#: ipalib/plugins/host.py:946 +#: ipaserver/plugins/host.py:948 #, python-format msgid "%(count)d host matched" msgid_plural "%(count)d hosts matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/host.py:1029 +#: ipaserver/plugins/host.py:1031 msgid "Display information about a host." msgstr "" -#: ipalib/plugins/host.py:1034 ipalib/plugins/service.py:699 -#: ipalib/plugins/user.py:809 +#: ipaserver/plugins/host.py:1036 ipaserver/plugins/service.py:715 +#: ipaserver/plugins/user.py:810 msgid "file to store certificate in" msgstr "" -#: ipalib/plugins/host.py:1072 ipalib/plugins/service.py:724 -#: ipalib/plugins/user.py:833 -#, python-format -msgid "Certificate(s) stored in file '%(file)s'" -msgstr "" - -#: ipalib/plugins/host.py:1084 +#: ipaserver/plugins/host.py:1073 msgid "Disable the Kerberos key, SSL certificate and all services of a host." msgstr "" -#: ipalib/plugins/host.py:1087 +#: ipaserver/plugins/host.py:1076 #, python-format msgid "Disabled host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:1159 +#: ipaserver/plugins/host.py:1148 msgid "Add hosts that can manage this host." msgstr "" -#: ipalib/plugins/host.py:1173 +#: ipaserver/plugins/host.py:1162 msgid "Remove hosts that can manage this host." msgstr "" -#: ipalib/plugins/host.py:1186 +#: ipaserver/plugins/host.py:1175 msgid "" "Allow users, groups, hosts or host groups to retrieve a keytab of this host." msgstr "" -#: ipalib/plugins/host.py:1205 +#: ipaserver/plugins/host.py:1194 msgid "" "Disallow users, groups, hosts or host groups to retrieve a keytab of this " "host." msgstr "" -#: ipalib/plugins/host.py:1223 +#: ipaserver/plugins/host.py:1212 msgid "" "Allow users, groups, hosts or host groups to create a keytab of this host." msgstr "" -#: ipalib/plugins/host.py:1242 +#: ipaserver/plugins/host.py:1231 msgid "" "Disallow users, groups, hosts or host groups to create a keytab of this host." msgstr "" -#: ipalib/plugins/host.py:1260 +#: ipaserver/plugins/host.py:1249 msgid "Add certificates to host entry" msgstr "" -#: ipalib/plugins/host.py:1261 +#: ipaserver/plugins/host.py:1250 #, python-format msgid "Added certificates to host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:1267 +#: ipaserver/plugins/host.py:1256 msgid "Remove certificates from host entry" msgstr "" -#: ipalib/plugins/host.py:1268 +#: ipaserver/plugins/host.py:1257 #, python-format msgid "Removed certificates from host \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:35 +#: ipaserver/plugins/hostgroup.py:35 msgid "" "\n" "Groups of hosts.\n" @@ -6534,88 +7794,96 @@ msgid "" " ipa hostgroup-del baltimore\n" msgstr "" -#: ipalib/plugins/hostgroup.py:82 +#: ipaserver/plugins/hostgroup.py:84 msgid "host group" msgstr "" -#: ipalib/plugins/hostgroup.py:83 +#: ipaserver/plugins/hostgroup.py:85 msgid "host groups" msgstr "" -#: ipalib/plugins/hostgroup.py:148 +#: ipaserver/plugins/hostgroup.py:154 msgid "Host Group" msgstr "" -#: ipalib/plugins/hostgroup.py:155 +#: ipaserver/plugins/hostgroup.py:161 msgid "Host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:156 +#: ipaserver/plugins/hostgroup.py:162 msgid "Name of host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:163 +#: ipaserver/plugins/hostgroup.py:169 msgid "A description of this host-group" msgstr "" -#: ipalib/plugins/hostgroup.py:189 +#: ipaserver/plugins/hostgroup.py:195 msgid "Add a new hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:191 +#: ipaserver/plugins/hostgroup.py:197 #, python-format msgid "Added hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:207 +#: ipaserver/plugins/hostgroup.py:213 #, python-format msgid "" "netgroup with name \"%s\" already exists. Hostgroups and netgroups share a " "common namespace" msgstr "" -#: ipalib/plugins/hostgroup.py:228 -msgid "Delete a hostgroup." +#: ipaserver/plugins/hostgroup.py:234 +msgid "Delete a hostgroup." +msgstr "" + +#: ipaserver/plugins/hostgroup.py:236 +#, python-format +msgid "Deleted hostgroup \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/hostgroup.py:240 ipaserver/plugins/hostgroup.py:307 +msgid "hostgroup" msgstr "" -#: ipalib/plugins/hostgroup.py:230 -#, python-format -msgid "Deleted hostgroup \"%(value)s\"" +#: ipaserver/plugins/hostgroup.py:242 +msgid "privileged hostgroup" msgstr "" -#: ipalib/plugins/hostgroup.py:235 +#: ipaserver/plugins/hostgroup.py:249 msgid "Modify a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:237 +#: ipaserver/plugins/hostgroup.py:251 #, python-format msgid "Modified hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:247 +#: ipaserver/plugins/hostgroup.py:261 msgid "Search for hostgroups." msgstr "" -#: ipalib/plugins/hostgroup.py:251 +#: ipaserver/plugins/hostgroup.py:265 #, python-format msgid "%(count)d hostgroup matched" msgid_plural "%(count)d hostgroups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/hostgroup.py:264 +#: ipaserver/plugins/hostgroup.py:278 msgid "Display information about a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:274 +#: ipaserver/plugins/hostgroup.py:288 msgid "Add members to a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:284 +#: ipaserver/plugins/hostgroup.py:298 msgid "Remove members from a hostgroup." msgstr "" -#: ipalib/plugins/idrange.py:53 +#: ipaserver/plugins/idrange.py:53 #, python-brace-format msgid "" "\n" @@ -6751,87 +8019,87 @@ msgid "" "{0}\n" msgstr "" -#: ipalib/plugins/idrange.py:195 +#: ipaserver/plugins/idrange.py:195 msgid "ID Ranges" msgstr "" -#: ipalib/plugins/idrange.py:196 +#: ipaserver/plugins/idrange.py:196 msgid "ID Range" msgstr "" -#: ipalib/plugins/idrange.py:200 +#: ipaserver/plugins/idrange.py:200 msgid "local domain range" msgstr "" -#: ipalib/plugins/idrange.py:202 ipalib/plugins/trust.py:592 +#: ipaserver/plugins/idrange.py:202 ipaserver/plugins/trust.py:651 msgid "Active Directory domain range" msgstr "" -#: ipalib/plugins/idrange.py:203 ipalib/plugins/trust.py:593 +#: ipaserver/plugins/idrange.py:203 ipaserver/plugins/trust.py:652 msgid "Active Directory trust range with POSIX attributes" msgstr "" -#: ipalib/plugins/idrange.py:211 +#: ipaserver/plugins/idrange.py:211 msgid "Range name" msgstr "" -#: ipalib/plugins/idrange.py:216 +#: ipaserver/plugins/idrange.py:216 msgid "First Posix ID of the range" msgstr "" -#: ipalib/plugins/idrange.py:220 +#: ipaserver/plugins/idrange.py:220 msgid "Number of IDs in the range" msgstr "" -#: ipalib/plugins/idrange.py:224 +#: ipaserver/plugins/idrange.py:224 msgid "First RID of the corresponding RID range" msgstr "" -#: ipalib/plugins/idrange.py:228 +#: ipaserver/plugins/idrange.py:228 msgid "First RID of the secondary RID range" msgstr "" -#: ipalib/plugins/idrange.py:233 +#: ipaserver/plugins/idrange.py:233 ipaserver/plugins/idrange.py:625 msgid "Domain SID of the trusted domain" msgstr "" -#: ipalib/plugins/idrange.py:238 +#: ipaserver/plugins/idrange.py:238 ipaserver/plugins/idrange.py:633 msgid "Name of the trusted domain" msgstr "" -#: ipalib/plugins/idrange.py:241 ipalib/plugins/internal.py:628 -#: ipalib/plugins/trust.py:626 +#: ipaserver/plugins/idrange.py:241 ipaserver/plugins/internal.py:639 +#: ipaserver/plugins/trust.py:685 msgid "Range type" msgstr "" -#: ipalib/plugins/idrange.py:243 +#: ipaserver/plugins/idrange.py:243 #, python-brace-format msgid "ID range type, one of {vals}" msgstr "" -#: ipalib/plugins/idrange.py:318 +#: ipaserver/plugins/idrange.py:318 msgid "" "range modification leaving objects with ID out of the defined range is not " "allowed" msgstr "" -#: ipalib/plugins/idrange.py:323 +#: ipaserver/plugins/idrange.py:323 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:330 +#: ipaserver/plugins/idrange.py:330 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:342 +#: ipaserver/plugins/idrange.py:342 msgid "SID is not recognized as a valid SID for a trusted domain" msgstr "" -#: ipalib/plugins/idrange.py:379 +#: ipaserver/plugins/idrange.py:379 #, python-brace-format msgid "" "\n" @@ -6857,85 +8125,85 @@ msgid "" "{0}\n" msgstr "" -#: ipalib/plugins/idrange.py:402 +#: ipaserver/plugins/idrange.py:402 #, python-format msgid "Added ID range \"%(value)s\"" msgstr "" -#: ipalib/plugins/idrange.py:476 ipalib/plugins/idrange.py:713 +#: ipaserver/plugins/idrange.py:414 ipaserver/plugins/idrange.py:665 msgid "Options dom-sid and dom-name cannot be used together" msgstr "" -#: ipalib/plugins/idrange.py:486 ipalib/plugins/idrange.py:725 +#: ipaserver/plugins/idrange.py:424 ipaserver/plugins/idrange.py:677 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:502 +#: ipaserver/plugins/idrange.py:440 msgid "Options dom-sid/dom-name and rid-base must be used together" msgstr "" -#: ipalib/plugins/idrange.py:509 ipalib/plugins/idrange.py:748 +#: ipaserver/plugins/idrange.py:447 ipaserver/plugins/idrange.py:700 msgid "" "Option rid-base must not be used when IPA range type is ipa-ad-trust-posix" msgstr "" -#: ipalib/plugins/idrange.py:516 +#: ipaserver/plugins/idrange.py:454 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:522 +#: ipaserver/plugins/idrange.py:460 msgid "Options dom-sid/dom-name and secondary-rid-base cannot be used together" msgstr "" -#: ipalib/plugins/idrange.py:541 +#: ipaserver/plugins/idrange.py:479 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:548 ipalib/plugins/idrange.py:767 +#: ipaserver/plugins/idrange.py:486 ipaserver/plugins/idrange.py:719 msgid "Options secondary-rid-base and rid-base must be used together" msgstr "" -#: ipalib/plugins/idrange.py:558 ipalib/plugins/idrange.py:790 +#: ipaserver/plugins/idrange.py:496 ipaserver/plugins/idrange.py:742 msgid "Primary RID range and secondary RID range cannot overlap" msgstr "" -#: ipalib/plugins/idrange.py:570 +#: ipaserver/plugins/idrange.py:508 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:587 +#: ipaserver/plugins/idrange.py:525 msgid "Delete an ID range." msgstr "" -#: ipalib/plugins/idrange.py:589 +#: ipaserver/plugins/idrange.py:527 #, python-format msgid "Deleted ID range \"%(value)s\"" msgstr "" -#: ipalib/plugins/idrange.py:635 +#: ipaserver/plugins/idrange.py:573 msgid "Search for ranges." msgstr "" -#: ipalib/plugins/idrange.py:638 +#: ipaserver/plugins/idrange.py:576 #, python-format msgid "%(count)d range matched" msgid_plural "%(count)d ranges matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/idrange.py:658 +#: ipaserver/plugins/idrange.py:596 msgid "Display information about a range." msgstr "" -#: ipalib/plugins/idrange.py:674 +#: ipaserver/plugins/idrange.py:612 #, python-brace-format msgid "" "Modify ID range.\n" @@ -6943,26 +8211,26 @@ msgid "" "{0}\n" msgstr "" -#: ipalib/plugins/idrange.py:679 +#: ipaserver/plugins/idrange.py:617 #, python-format msgid "Modified ID range \"%(value)s\"" msgstr "" -#: ipalib/plugins/idrange.py:697 +#: ipaserver/plugins/idrange.py:649 msgid "" "This command can not be used to change ID allocation for local IPA domain. " "Run `ipa help idrange` for more information" msgstr "" -#: ipalib/plugins/idrange.py:732 +#: ipaserver/plugins/idrange.py:684 msgid "Options dom-sid and secondary-rid-base cannot be used together" msgstr "" -#: ipalib/plugins/idrange.py:739 +#: ipaserver/plugins/idrange.py:691 msgid "Options dom-sid and rid-base must be used together" msgstr "" -#: ipalib/plugins/idviews.py:48 +#: ipaserver/plugins/idviews.py:50 msgid "" "\n" "ID Views\n" @@ -6974,544 +8242,562 @@ msgid "" "other Identity Management solutions.\n" msgstr "" -#: ipalib/plugins/idviews.py:59 ipalib/plugins/idviews.py:88 -#: ipalib/plugins/idviews.py:95 ipalib/plugins/idviews.py:275 -#: ipalib/plugins/idviews.py:712 +#: ipaserver/plugins/idviews.py:61 ipaserver/plugins/idviews.py:90 +#: ipaserver/plugins/idviews.py:97 ipaserver/plugins/idviews.py:277 +#: ipaserver/plugins/idviews.py:714 msgid "ID View" msgstr "" -#: ipalib/plugins/idviews.py:61 +#: ipaserver/plugins/idviews.py:63 msgid "system ID View" msgstr "" -#: ipalib/plugins/idviews.py:67 +#: ipaserver/plugins/idviews.py:69 msgid "Fallback to AD DC LDAP" msgstr "" -#: ipalib/plugins/idviews.py:68 +#: ipaserver/plugins/idviews.py:70 msgid "" "Allow falling back to AD DC LDAP when resolving AD trusted objects. For two-" "way trusts only." msgstr "" -#: ipalib/plugins/idviews.py:89 ipalib/plugins/idviews.py:94 +#: ipaserver/plugins/idviews.py:91 ipaserver/plugins/idviews.py:96 msgid "ID Views" msgstr "" -#: ipalib/plugins/idviews.py:100 +#: ipaserver/plugins/idviews.py:102 msgid "ID View Name" msgstr "" -#: ipalib/plugins/idviews.py:123 +#: ipaserver/plugins/idviews.py:125 msgid "Add a new ID View." msgstr "" -#: ipalib/plugins/idviews.py:124 +#: ipaserver/plugins/idviews.py:126 #, python-format msgid "Added ID View \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:129 +#: ipaserver/plugins/idviews.py:131 msgid "Delete an ID View." msgstr "" -#: ipalib/plugins/idviews.py:130 +#: ipaserver/plugins/idviews.py:132 #, python-format msgid "Deleted ID View \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:142 +#: ipaserver/plugins/idviews.py:144 msgid "Modify an ID View." msgstr "" -#: ipalib/plugins/idviews.py:143 +#: ipaserver/plugins/idviews.py:145 #, python-format msgid "Modified an ID View \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:155 +#: ipaserver/plugins/idviews.py:157 msgid "Search for an ID View." msgstr "" -#: ipalib/plugins/idviews.py:156 +#: ipaserver/plugins/idviews.py:158 #, python-format msgid "%(count)d ID View matched" msgid_plural "%(count)d ID Views matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/idviews.py:162 +#: ipaserver/plugins/idviews.py:164 msgid "Display information about an ID View." msgstr "" -#: ipalib/plugins/idviews.py:167 +#: ipaserver/plugins/idviews.py:169 msgid "Enumerate all the hosts the view applies to." msgstr "" -#: ipalib/plugins/idviews.py:173 +#: ipaserver/plugins/idviews.py:175 msgid "User object overrides" msgstr "" -#: ipalib/plugins/idviews.py:176 +#: ipaserver/plugins/idviews.py:178 msgid "Group object overrides" msgstr "" -#: ipalib/plugins/idviews.py:179 +#: ipaserver/plugins/idviews.py:181 msgid "Hosts the view applies to" msgstr "" -#: ipalib/plugins/idviews.py:276 +#: ipaserver/plugins/idviews.py:278 msgid "Default Trust View cannot be applied on hosts" msgstr "" -#: ipalib/plugins/idviews.py:304 ipalib/plugins/idviews.py:327 +#: ipaserver/plugins/idviews.py:306 ipaserver/plugins/idviews.py:329 msgid "not found" msgstr "" -#: ipalib/plugins/idviews.py:325 +#: ipaserver/plugins/idviews.py:327 msgid "ID View already applied" msgstr "" -#: ipalib/plugins/idviews.py:345 +#: ipaserver/plugins/idviews.py:347 msgid "value" msgstr "" -#: ipalib/plugins/idviews.py:354 +#: ipaserver/plugins/idviews.py:356 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 overridden." msgstr "" -#: ipalib/plugins/idviews.py:358 +#: ipaserver/plugins/idviews.py:360 #, python-format msgid "ID View applied to %i host." msgstr "" -#: ipalib/plugins/idviews.py:359 +#: ipaserver/plugins/idviews.py:361 #, python-format msgid "ID View applied to %i hosts." msgstr "" -#: ipalib/plugins/idviews.py:366 +#: ipaserver/plugins/idviews.py:368 msgid "Hosts to apply the ID View to" msgstr "" -#: ipalib/plugins/idviews.py:371 +#: ipaserver/plugins/idviews.py:373 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:374 ipalib/plugins/idviews.py:417 +#: ipaserver/plugins/idviews.py:376 ipaserver/plugins/idviews.py:419 msgid "hostgroups" msgstr "" -#: ipalib/plugins/idviews.py:382 +#: ipaserver/plugins/idviews.py:384 msgid "Hosts that this ID View was applied to." msgstr "" -#: ipalib/plugins/idviews.py:386 +#: ipaserver/plugins/idviews.py:388 msgid "Hosts or hostgroups that this ID View could not be applied to." msgstr "" -#: ipalib/plugins/idviews.py:391 +#: ipaserver/plugins/idviews.py:393 msgid "Number of hosts the ID View was applied to:" msgstr "" -#: ipalib/plugins/idviews.py:398 +#: ipaserver/plugins/idviews.py:400 msgid "" "Clears ID View from specified hosts or current members of specified " "hostgroups." msgstr "" -#: ipalib/plugins/idviews.py:401 +#: ipaserver/plugins/idviews.py:403 #, python-format msgid "ID View cleared from %i host." msgstr "" -#: ipalib/plugins/idviews.py:402 +#: ipaserver/plugins/idviews.py:404 #, python-format msgid "ID View cleared from %i hosts." msgstr "" -#: ipalib/plugins/idviews.py:409 +#: ipaserver/plugins/idviews.py:411 msgid "Hosts to clear (any) ID View from." msgstr "" -#: ipalib/plugins/idviews.py:414 +#: ipaserver/plugins/idviews.py:416 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:425 +#: ipaserver/plugins/idviews.py:427 msgid "Hosts that ID View was cleared from." msgstr "" -#: ipalib/plugins/idviews.py:429 +#: ipaserver/plugins/idviews.py:431 msgid "Hosts or hostgroups that ID View could not be cleared from." msgstr "" -#: ipalib/plugins/idviews.py:434 +#: ipaserver/plugins/idviews.py:436 msgid "Number of hosts that had a ID View was unset:" msgstr "" -#: ipalib/plugins/idviews.py:470 +#: ipaserver/plugins/idviews.py:472 msgid "" "You are trying to reference a magic private group which is not allowed to be " -"overriden. Try overriding the GID attribute of the corresponding user " +"overridden. Try overriding the GID attribute of the corresponding user " "instead." msgstr "" -#: ipalib/plugins/idviews.py:507 +#: ipaserver/plugins/idviews.py:509 msgid "IPA object" msgstr "" -#: ipalib/plugins/idviews.py:508 +#: ipaserver/plugins/idviews.py:510 msgid "" "system IPA objects (e.g system groups, user private groups) cannot be " "overridden" msgstr "" -#: ipalib/plugins/idviews.py:602 +#: ipaserver/plugins/idviews.py:604 #, python-format msgid "Anchor '%(anchor)s' could not be resolved." msgstr "" -#: ipalib/plugins/idviews.py:649 +#: ipaserver/plugins/idviews.py:651 msgid "Anchor to override" msgstr "" -#: ipalib/plugins/idviews.py:713 +#: ipaserver/plugins/idviews.py:715 msgid "Default Trust View cannot contain IPA users" msgstr "" -#: ipalib/plugins/idviews.py:717 +#: ipaserver/plugins/idviews.py:719 msgid "Add a new ID override." msgstr "" -#: ipalib/plugins/idviews.py:718 +#: ipaserver/plugins/idviews.py:720 #, python-format msgid "Added ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:733 +#: ipaserver/plugins/idviews.py:735 msgid "Delete an ID override." msgstr "" -#: ipalib/plugins/idviews.py:734 +#: ipaserver/plugins/idviews.py:736 #, python-format msgid "Deleted ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:759 +#: ipaserver/plugins/idviews.py:761 msgid "Modify an ID override." msgstr "" -#: ipalib/plugins/idviews.py:760 +#: ipaserver/plugins/idviews.py:762 #, python-format msgid "Modified an ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:767 +#: ipaserver/plugins/idviews.py:769 msgid "ID override" msgstr "" -#: ipalib/plugins/idviews.py:768 +#: ipaserver/plugins/idviews.py:770 msgid "ID overrides cannot be renamed" msgstr "" -#: ipalib/plugins/idviews.py:780 +#: ipaserver/plugins/idviews.py:782 msgid "Search for an ID override." msgstr "" -#: ipalib/plugins/idviews.py:781 +#: ipaserver/plugins/idviews.py:783 #, python-format msgid "%(count)d ID override matched" msgid_plural "%(count)d ID overrides matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/idviews.py:793 +#: ipaserver/plugins/idviews.py:795 msgid "Display information about an ID override." msgstr "" -#: ipalib/plugins/idviews.py:805 ipalib/plugins/idviews.py:809 +#: ipaserver/plugins/idviews.py:807 ipaserver/plugins/idviews.py:811 msgid "User ID override" msgstr "" -#: ipalib/plugins/idviews.py:806 ipalib/plugins/idviews.py:808 +#: ipaserver/plugins/idviews.py:808 ipaserver/plugins/idviews.py:810 msgid "User ID overrides" msgstr "" -#: ipalib/plugins/idviews.py:844 +#: ipaserver/plugins/idviews.py:851 msgid "User ID Number" msgstr "" -#: ipalib/plugins/idviews.py:895 ipalib/plugins/idviews.py:899 +#: ipaserver/plugins/idviews.py:918 ipaserver/plugins/idviews.py:922 msgid "Group ID override" msgstr "" -#: ipalib/plugins/idviews.py:896 ipalib/plugins/idviews.py:898 +#: ipaserver/plugins/idviews.py:919 ipaserver/plugins/idviews.py:921 msgid "Group ID overrides" msgstr "" -#: ipalib/plugins/idviews.py:941 +#: ipaserver/plugins/idviews.py:963 +msgid "Add one or more certificates to the idoverrideuser entry" +msgstr "" + +#: ipaserver/plugins/idviews.py:964 +#, python-format +msgid "Added certificates to idoverrideuser \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:985 +msgid "Remove one or more certificates to the idoverrideuser entry" +msgstr "" + +#: ipaserver/plugins/idviews.py:986 +#, python-format +msgid "Removed certificates from idoverrideuser \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/idviews.py:1008 msgid "Add a new User ID override." msgstr "" -#: ipalib/plugins/idviews.py:942 +#: ipaserver/plugins/idviews.py:1009 #, python-format msgid "Added User ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:964 +#: ipaserver/plugins/idviews.py:1033 msgid "Delete an User ID override." msgstr "" -#: ipalib/plugins/idviews.py:965 +#: ipaserver/plugins/idviews.py:1034 #, python-format msgid "Deleted User ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:970 +#: ipaserver/plugins/idviews.py:1039 msgid "Modify an User ID override." msgstr "" -#: ipalib/plugins/idviews.py:971 +#: ipaserver/plugins/idviews.py:1040 #, python-format msgid "Modified an User ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:999 +#: ipaserver/plugins/idviews.py:1071 msgid "Search for an User ID override." msgstr "" -#: ipalib/plugins/idviews.py:1000 +#: ipaserver/plugins/idviews.py:1072 #, 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:1013 +#: ipaserver/plugins/idviews.py:1086 msgid "Display information about an User ID override." msgstr "" -#: ipalib/plugins/idviews.py:1024 +#: ipaserver/plugins/idviews.py:1098 msgid "Add a new Group ID override." msgstr "" -#: ipalib/plugins/idviews.py:1025 +#: ipaserver/plugins/idviews.py:1099 #, python-format msgid "Added Group ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:1030 +#: ipaserver/plugins/idviews.py:1104 msgid "Delete an Group ID override." msgstr "" -#: ipalib/plugins/idviews.py:1031 +#: ipaserver/plugins/idviews.py:1105 #, python-format msgid "Deleted Group ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:1036 +#: ipaserver/plugins/idviews.py:1110 msgid "Modify an Group ID override." msgstr "" -#: ipalib/plugins/idviews.py:1037 +#: ipaserver/plugins/idviews.py:1111 #, python-format msgid "Modified an Group ID override \"%(value)s\"" msgstr "" -#: ipalib/plugins/idviews.py:1042 +#: ipaserver/plugins/idviews.py:1116 msgid "Search for an Group ID override." msgstr "" -#: ipalib/plugins/idviews.py:1043 +#: ipaserver/plugins/idviews.py:1117 #, 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:1049 +#: ipaserver/plugins/idviews.py:1123 msgid "Display information about an Group ID override." msgstr "" -#: ipalib/plugins/internal.py:49 ipalib/plugins/internal.py:58 +#: ipaserver/plugins/internal.py:44 ipaserver/plugins/internal.py:53 msgid "Name of object to export" msgstr "" -#: ipalib/plugins/internal.py:52 ipalib/plugins/internal.py:61 +#: ipaserver/plugins/internal.py:47 ipaserver/plugins/internal.py:56 msgid "Name of method to export" msgstr "" -#: ipalib/plugins/internal.py:64 +#: ipaserver/plugins/internal.py:59 msgid "Name of command to export" msgstr "" -#: ipalib/plugins/internal.py:69 +#: ipaserver/plugins/internal.py:64 msgid "Dict of JSON encoded IPA Objects" msgstr "" -#: ipalib/plugins/internal.py:70 +#: ipaserver/plugins/internal.py:65 msgid "Dict of JSON encoded IPA Methods" msgstr "" -#: ipalib/plugins/internal.py:71 +#: ipaserver/plugins/internal.py:66 msgid "Dict of JSON encoded IPA Commands" msgstr "" -#: ipalib/plugins/internal.py:152 +#: ipaserver/plugins/internal.py:144 msgid "Your session has expired. Please re-login." msgstr "" -#: ipalib/plugins/internal.py:156 ipalib/plugins/internal.py:210 +#: ipaserver/plugins/internal.py:148 ipaserver/plugins/internal.py:203 msgid "Apply" msgstr "" -#: ipalib/plugins/internal.py:157 +#: ipaserver/plugins/internal.py:149 msgid "Rebuild auto membership" msgstr "" -#: ipalib/plugins/internal.py:158 +#: ipaserver/plugins/internal.py:150 msgid "Are you sure you want to rebuild auto membership?" msgstr "" -#: ipalib/plugins/internal.py:160 +#: ipaserver/plugins/internal.py:152 msgid "Are you sure you want to proceed with the action?" msgstr "" -#: ipalib/plugins/internal.py:161 +#: ipaserver/plugins/internal.py:153 #, python-brace-format msgid "Are you sure you want to delete ${object}?" msgstr "" -#: ipalib/plugins/internal.py:162 +#: ipaserver/plugins/internal.py:154 #, python-brace-format msgid "Are you sure you want to disable ${object}?" msgstr "" -#: ipalib/plugins/internal.py:163 +#: ipaserver/plugins/internal.py:155 #, python-brace-format msgid "Are you sure you want to enable ${object}?" msgstr "" -#: ipalib/plugins/internal.py:164 +#: ipaserver/plugins/internal.py:156 msgid "Actions" msgstr "" -#: ipalib/plugins/internal.py:168 +#: ipaserver/plugins/internal.py:160 #, python-brace-format msgid "Add RunAs ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:169 +#: ipaserver/plugins/internal.py:161 #, python-brace-format msgid "Add RunAs Groups into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:170 +#: ipaserver/plugins/internal.py:162 #, python-brace-format msgid "Add ${other_entity} Managing ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:171 +#: ipaserver/plugins/internal.py:163 #, python-brace-format msgid "Add ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:172 +#: ipaserver/plugins/internal.py:164 #, python-brace-format msgid "Add Allow ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:173 +#: ipaserver/plugins/internal.py:165 #, python-brace-format msgid "Add Deny ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:174 +#: ipaserver/plugins/internal.py:166 #, python-brace-format msgid "Add ${entity} ${primary_key} into ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:176 +#: ipaserver/plugins/internal.py:168 #, python-brace-format msgid "${count} item(s) added" msgstr "" -#: ipalib/plugins/internal.py:177 +#: ipaserver/plugins/internal.py:169 msgid "Direct Membership" msgstr "" -#: ipalib/plugins/internal.py:178 +#: ipaserver/plugins/internal.py:170 #, python-brace-format msgid "Filter available ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:179 +#: ipaserver/plugins/internal.py:171 msgid "Indirect Membership" msgstr "" -#: ipalib/plugins/internal.py:180 +#: ipaserver/plugins/internal.py:172 msgid "No entries." msgstr "" -#: ipalib/plugins/internal.py:181 +#: ipaserver/plugins/internal.py:173 #, python-brace-format msgid "Showing ${start} to ${end} of ${total} entries." msgstr "" -#: ipalib/plugins/internal.py:183 +#: ipaserver/plugins/internal.py:175 #, python-brace-format msgid "Remove RunAs ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:184 +#: ipaserver/plugins/internal.py:176 #, python-brace-format msgid "Remove RunAs Groups from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:185 +#: ipaserver/plugins/internal.py:177 #, python-brace-format msgid "Remove ${other_entity} Managing ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:186 +#: ipaserver/plugins/internal.py:178 #, python-brace-format msgid "Remove ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:187 +#: ipaserver/plugins/internal.py:179 #, python-brace-format msgid "Remove Allow ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:188 +#: ipaserver/plugins/internal.py:180 #, python-brace-format msgid "Remove Deny ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:189 +#: ipaserver/plugins/internal.py:181 #, python-brace-format msgid "Remove ${entity} ${primary_key} from ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:191 +#: ipaserver/plugins/internal.py:183 #, python-brace-format msgid "${count} item(s) removed" msgstr "" -#: ipalib/plugins/internal.py:192 +#: ipaserver/plugins/internal.py:184 msgid "Show Results" msgstr "" -#: ipalib/plugins/internal.py:195 +#: ipaserver/plugins/internal.py:187 msgid "" "

    Implicit method (password) will be used if no method is chosen.

    Password + Two-factor: LDAP and Kerberos allow " @@ -7522,19 +8808,24 @@ msgid "" "authentication options.

    " msgstr "" -#: ipalib/plugins/internal.py:196 +#: ipaserver/plugins/internal.py:188 ipaserver/plugins/internal.py:793 +#: ipaserver/plugins/passwd.py:93 +msgid "OTP" +msgstr "" + +#: ipaserver/plugins/internal.py:189 msgid "Two factor authentication (password + OTP)" msgstr "" -#: ipalib/plugins/internal.py:198 -msgid "Radius" +#: ipaserver/plugins/internal.py:191 +msgid "RADIUS" msgstr "" -#: ipalib/plugins/internal.py:199 +#: ipaserver/plugins/internal.py:192 msgid "Disable per-user override" msgstr "" -#: ipalib/plugins/internal.py:200 +#: ipaserver/plugins/internal.py:193 msgid "" "

    Per-user setting, overwrites the global setting if any option is checked." "

    Password + Two-factor: LDAP and Kerberos allow " @@ -7545,372 +8836,396 @@ msgid "" "authentication options.

    " msgstr "" -#: ipalib/plugins/internal.py:203 ipalib/plugins/internal.py:258 +#: ipaserver/plugins/internal.py:196 ipaserver/plugins/internal.py:257 msgid "About" msgstr "" -#: ipalib/plugins/internal.py:204 +#: ipaserver/plugins/internal.py:197 msgid "Activate" msgstr "" -#: ipalib/plugins/internal.py:205 +#: ipaserver/plugins/internal.py:198 msgid "Add" msgstr "" -#: ipalib/plugins/internal.py:206 +#: ipaserver/plugins/internal.py:199 msgid "Add and Add Another" msgstr "" -#: ipalib/plugins/internal.py:207 +#: ipaserver/plugins/internal.py:200 msgid "Add and Close" msgstr "" -#: ipalib/plugins/internal.py:208 +#: ipaserver/plugins/internal.py:201 msgid "Add and Edit" msgstr "" -#: ipalib/plugins/internal.py:209 +#: ipaserver/plugins/internal.py:202 msgid "Add Many" msgstr "" -#: ipalib/plugins/internal.py:211 +#: ipaserver/plugins/internal.py:204 msgid "Back" msgstr "" -#: ipalib/plugins/internal.py:212 +#: ipaserver/plugins/internal.py:205 msgid "Cancel" msgstr "" -#: ipalib/plugins/internal.py:213 +#: ipaserver/plugins/internal.py:206 msgid "Close" msgstr "" -#: ipalib/plugins/internal.py:214 ipalib/plugins/internal.py:802 +#: ipaserver/plugins/internal.py:207 ipaserver/plugins/internal.py:826 msgid "Disable" msgstr "" -#: ipalib/plugins/internal.py:215 +#: ipaserver/plugins/internal.py:208 msgid "Edit" msgstr "" -#: ipalib/plugins/internal.py:216 ipalib/plugins/internal.py:804 +#: ipaserver/plugins/internal.py:209 ipaserver/plugins/internal.py:828 msgid "Enable" msgstr "" -#: ipalib/plugins/internal.py:218 +#: ipaserver/plugins/internal.py:211 msgid "Find" msgstr "" -#: ipalib/plugins/internal.py:219 +#: ipaserver/plugins/internal.py:212 msgid "Get" msgstr "" -#: ipalib/plugins/internal.py:220 +#: ipaserver/plugins/internal.py:213 msgid "Hide" msgstr "" -#: ipalib/plugins/internal.py:221 +#: ipaserver/plugins/internal.py:214 msgid "Issue" msgstr "" -#: ipalib/plugins/internal.py:222 +#: ipaserver/plugins/internal.py:215 msgid "OK" msgstr "" -#: ipalib/plugins/internal.py:223 +#: ipaserver/plugins/internal.py:216 msgid "Refresh" msgstr "" -#: ipalib/plugins/internal.py:224 +#: ipaserver/plugins/internal.py:217 +msgid "Reload current settings from the server." +msgstr "" + +#: ipaserver/plugins/internal.py:218 msgid "Delete" msgstr "" -#: ipalib/plugins/internal.py:225 +#: ipaserver/plugins/internal.py:219 +msgid "Remove hold" +msgstr "" + +#: ipaserver/plugins/internal.py:220 msgid "Reset" msgstr "" -#: ipalib/plugins/internal.py:226 +#: ipaserver/plugins/internal.py:221 msgid "Reset Password and Login" msgstr "" -#: ipalib/plugins/internal.py:227 +#: ipaserver/plugins/internal.py:222 msgid "Restore" msgstr "" -#: ipalib/plugins/internal.py:228 +#: ipaserver/plugins/internal.py:223 msgid "Retry" msgstr "" -#: ipalib/plugins/internal.py:229 +#: ipaserver/plugins/internal.py:224 msgid "Revert" msgstr "" -#: ipalib/plugins/internal.py:230 +#: ipaserver/plugins/internal.py:226 msgid "Revoke" msgstr "" -#: ipalib/plugins/internal.py:231 +#: ipaserver/plugins/internal.py:227 msgid "Save" msgstr "" -#: ipalib/plugins/internal.py:232 +#: ipaserver/plugins/internal.py:228 msgid "Set" msgstr "" -#: ipalib/plugins/internal.py:233 +#: ipaserver/plugins/internal.py:229 msgid "Show" msgstr "" -#: ipalib/plugins/internal.py:235 +#: ipaserver/plugins/internal.py:230 +msgid "Stage" +msgstr "" + +#: ipaserver/plugins/internal.py:232 msgid "Update" msgstr "" -#: ipalib/plugins/internal.py:236 +#: ipaserver/plugins/internal.py:233 msgid "View" msgstr "" -#: ipalib/plugins/internal.py:239 +#: ipaserver/plugins/internal.py:236 msgid "Collapse All" msgstr "" -#: ipalib/plugins/internal.py:240 +#: ipaserver/plugins/internal.py:237 msgid "Expand All" msgstr "" -#: ipalib/plugins/internal.py:241 +#: ipaserver/plugins/internal.py:238 msgid "General" msgstr "" -#: ipalib/plugins/internal.py:242 +#: ipaserver/plugins/internal.py:239 msgid "Identity Settings" msgstr "" -#: ipalib/plugins/internal.py:243 +#: ipaserver/plugins/internal.py:240 #, python-brace-format msgid "${entity} ${primary_key} Settings" msgstr "" -#: ipalib/plugins/internal.py:244 +#: ipaserver/plugins/internal.py:241 msgid "Back to Top" msgstr "" -#: ipalib/plugins/internal.py:245 +#: ipaserver/plugins/internal.py:242 #, python-brace-format msgid "${entity} ${primary_key} updated" msgstr "" -#: ipalib/plugins/internal.py:248 +#: ipaserver/plugins/internal.py:245 #, python-brace-format msgid "${entity} successfully added" msgstr "" -#: ipalib/plugins/internal.py:249 +#: ipaserver/plugins/internal.py:246 +msgid "Add custom value" +msgstr "" + +#: ipaserver/plugins/internal.py:247 #, python-brace-format msgid "Add ${entity}" msgstr "" -#: ipalib/plugins/internal.py:250 +#: ipaserver/plugins/internal.py:248 msgid "Available" msgstr "" -#: ipalib/plugins/internal.py:251 +#: ipaserver/plugins/internal.py:249 msgid "Some operations failed." msgstr "" -#: ipalib/plugins/internal.py:252 +#: ipaserver/plugins/internal.py:250 msgid "Operations Error" msgstr "" -#: ipalib/plugins/internal.py:253 +#: ipaserver/plugins/internal.py:251 msgid "Confirmation" msgstr "" -#: ipalib/plugins/internal.py:254 +#: ipaserver/plugins/internal.py:252 +msgid "Custom value" +msgstr "" + +#: ipaserver/plugins/internal.py:253 msgid "This page has unsaved changes. Please save or revert." msgstr "" -#: ipalib/plugins/internal.py:255 +#: ipaserver/plugins/internal.py:254 msgid "Unsaved Changes" msgstr "" -#: ipalib/plugins/internal.py:256 +#: ipaserver/plugins/internal.py:255 #, python-brace-format msgid "Edit ${entity}" msgstr "" -#: ipalib/plugins/internal.py:257 +#: ipaserver/plugins/internal.py:256 msgid "Hide details" msgstr "" -#: ipalib/plugins/internal.py:259 +#: ipaserver/plugins/internal.py:258 #, python-brace-format msgid "${product}, version: ${version}" msgstr "" -#: ipalib/plugins/internal.py:260 +#: ipaserver/plugins/internal.py:259 msgid "Prospective" msgstr "" -#: ipalib/plugins/internal.py:261 +#: ipaserver/plugins/internal.py:260 msgid "Redirection" msgstr "" -#: ipalib/plugins/internal.py:262 +#: ipaserver/plugins/internal.py:261 msgid "Select entries to be removed." msgstr "" -#: ipalib/plugins/internal.py:263 +#: ipaserver/plugins/internal.py:262 #, python-brace-format msgid "Remove ${entity}" msgstr "" -#: ipalib/plugins/internal.py:264 +#: ipaserver/plugins/internal.py:263 +msgid "Result" +msgstr "" + +#: ipaserver/plugins/internal.py:264 msgid "Show details" msgstr "" -#: ipalib/plugins/internal.py:265 +#: ipaserver/plugins/internal.py:265 msgid "Success" msgstr "" -#: ipalib/plugins/internal.py:266 +#: ipaserver/plugins/internal.py:266 msgid "Validation error" msgstr "" -#: ipalib/plugins/internal.py:267 +#: ipaserver/plugins/internal.py:267 msgid "Input form contains invalid or missing values." msgstr "" -#: ipalib/plugins/internal.py:270 +#: ipaserver/plugins/internal.py:270 msgid "Please try the following options:" msgstr "" -#: ipalib/plugins/internal.py:271 +#: ipaserver/plugins/internal.py:271 msgid "If the problem persists please contact the system administrator." msgstr "" -#: ipalib/plugins/internal.py:272 +#: ipaserver/plugins/internal.py:272 msgid "Refresh the page." msgstr "" -#: ipalib/plugins/internal.py:273 +#: ipaserver/plugins/internal.py:273 msgid "Reload the browser." msgstr "" -#: ipalib/plugins/internal.py:274 +#: ipaserver/plugins/internal.py:274 msgid "Return to the main page and retry the operation" msgstr "" -#: ipalib/plugins/internal.py:275 +#: ipaserver/plugins/internal.py:275 #, python-brace-format msgid "An error has occurred (${error})" msgstr "" -#: ipalib/plugins/internal.py:279 +#: ipaserver/plugins/internal.py:279 msgid "HTTP Error" msgstr "" -#: ipalib/plugins/internal.py:280 +#: ipaserver/plugins/internal.py:280 msgid "Internal Error" msgstr "" -#: ipalib/plugins/internal.py:281 +#: ipaserver/plugins/internal.py:281 msgid "IPA Error" msgstr "" -#: ipalib/plugins/internal.py:282 +#: ipaserver/plugins/internal.py:282 msgid "No response" msgstr "" -#: ipalib/plugins/internal.py:283 +#: ipaserver/plugins/internal.py:283 msgid "Unknown Error" msgstr "" -#: ipalib/plugins/internal.py:284 +#: ipaserver/plugins/internal.py:284 msgid "URL" msgstr "" -#: ipalib/plugins/internal.py:287 +#: ipaserver/plugins/internal.py:287 #, python-brace-format msgid "${primary_key} is managed by:" msgstr "" -#: ipalib/plugins/internal.py:288 +#: ipaserver/plugins/internal.py:288 #, python-brace-format msgid "${primary_key} members:" msgstr "" -#: ipalib/plugins/internal.py:289 +#: ipaserver/plugins/internal.py:289 #, python-brace-format msgid "${primary_key} is a member of:" msgstr "" -#: ipalib/plugins/internal.py:292 +#: ipaserver/plugins/internal.py:292 msgid "Settings" msgstr "" -#: ipalib/plugins/internal.py:293 ipalib/plugins/internal.py:795 +#: ipaserver/plugins/internal.py:293 ipaserver/plugins/internal.py:818 msgid "Search" msgstr "" -#: ipalib/plugins/internal.py:295 +#: ipaserver/plugins/internal.py:295 msgid "False" msgstr "" -#: ipalib/plugins/internal.py:297 +#: ipaserver/plugins/internal.py:297 #, python-brace-format msgid "Allow ${other_entity} to create keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:298 +#: ipaserver/plugins/internal.py:298 #, python-brace-format msgid "Allow ${other_entity} to retrieve keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:299 +#: ipaserver/plugins/internal.py:299 msgid "Allowed to create keytab" msgstr "" -#: ipalib/plugins/internal.py:300 +#: ipaserver/plugins/internal.py:300 msgid "Allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/internal.py:301 +#: ipaserver/plugins/internal.py:301 #, python-brace-format msgid "Disallow ${other_entity} to create keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:302 +#: ipaserver/plugins/internal.py:302 #, python-brace-format msgid "Disallow ${other_entity} to retrieve keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:305 +#: ipaserver/plugins/internal.py:305 msgid "Inherited from server configuration" msgstr "" -#: ipalib/plugins/internal.py:306 +#: ipaserver/plugins/internal.py:306 msgid "MS-PAC" msgstr "" -#: ipalib/plugins/internal.py:307 +#: ipaserver/plugins/internal.py:307 msgid "Override inherited settings" msgstr "" -#: ipalib/plugins/internal.py:308 +#: ipaserver/plugins/internal.py:308 msgid "PAD" msgstr "" -#: ipalib/plugins/internal.py:311 +#: ipaserver/plugins/internal.py:311 msgid "" " To login with username and " "password, enter them in the corresponding fields, then click Login." msgstr "" -#: ipalib/plugins/internal.py:312 +#: ipaserver/plugins/internal.py:312 msgid "Logged In As" msgstr "" -#: ipalib/plugins/internal.py:313 +#: ipaserver/plugins/internal.py:313 #, python-brace-format msgid "" " To login with Kerberos, " @@ -7919,1539 +9234,1644 @@ msgid "" "browser correctly, then click Login." msgstr "" -#: ipalib/plugins/internal.py:314 +#: ipaserver/plugins/internal.py:314 msgid "Login" msgstr "" -#: ipalib/plugins/internal.py:315 +#: ipaserver/plugins/internal.py:315 msgid "Logout" msgstr "" -#: ipalib/plugins/internal.py:316 +#: ipaserver/plugins/internal.py:316 msgid "Logout error" msgstr "" -#: ipalib/plugins/internal.py:318 +#: ipaserver/plugins/internal.py:318 msgid "Sync OTP Token" msgstr "" -#: ipalib/plugins/internal.py:319 +#: ipaserver/plugins/internal.py:319 msgid "Username" msgstr "" -#: ipalib/plugins/internal.py:322 +#: ipaserver/plugins/internal.py:322 msgid "number of passwords" msgstr "" -#: ipalib/plugins/internal.py:323 +#: ipaserver/plugins/internal.py:323 msgid "seconds" msgstr "" -#: ipalib/plugins/internal.py:327 ipalib/plugins/internal.py:332 -#: ipalib/plugins/internal.py:609 +#: ipaserver/plugins/internal.py:327 ipaserver/plugins/internal.py:332 +#: ipaserver/plugins/internal.py:620 msgid "Attribute" msgstr "" -#: ipalib/plugins/internal.py:330 +#: ipaserver/plugins/internal.py:330 #, python-brace-format msgid "Add Condition into ${pkey}" msgstr "" -#: ipalib/plugins/internal.py:331 +#: ipaserver/plugins/internal.py:331 msgid "Add Rule" msgstr "" -#: ipalib/plugins/internal.py:333 +#: ipaserver/plugins/internal.py:333 msgid "Default host group" msgstr "" -#: ipalib/plugins/internal.py:334 +#: ipaserver/plugins/internal.py:334 msgid "Default user group" msgstr "" -#: ipalib/plugins/internal.py:335 +#: ipaserver/plugins/internal.py:335 msgid "Exclusive" msgstr "" -#: ipalib/plugins/internal.py:336 +#: ipaserver/plugins/internal.py:336 msgid "Expression" msgstr "" -#: ipalib/plugins/internal.py:337 +#: ipaserver/plugins/internal.py:337 msgid "Host group rule" msgstr "" -#: ipalib/plugins/internal.py:338 +#: ipaserver/plugins/internal.py:338 msgid "Host group rules" msgstr "" -#: ipalib/plugins/internal.py:339 +#: ipaserver/plugins/internal.py:339 msgid "Inclusive" msgstr "" -#: ipalib/plugins/internal.py:340 +#: ipaserver/plugins/internal.py:340 msgid "User group rule" msgstr "" -#: ipalib/plugins/internal.py:341 +#: ipaserver/plugins/internal.py:341 msgid "User group rules" msgstr "" -#: ipalib/plugins/internal.py:346 +#: ipaserver/plugins/internal.py:346 msgid "Automount Location Settings" msgstr "" -#: ipalib/plugins/internal.py:349 +#: ipaserver/plugins/internal.py:349 msgid "Map Type" msgstr "" -#: ipalib/plugins/internal.py:350 +#: ipaserver/plugins/internal.py:350 msgid "Direct" msgstr "" -#: ipalib/plugins/internal.py:351 +#: ipaserver/plugins/internal.py:351 msgid "Indirect" msgstr "" -#: ipalib/plugins/internal.py:354 ipalib/plugins/internal.py:490 -#: ipalib/plugins/internal.py:581 ipalib/plugins/internal.py:651 -#: ipalib/plugins/internal.py:702 +#: ipaserver/plugins/internal.py:354 +msgid "All" +msgstr "" + +#: ipaserver/plugins/internal.py:355 +msgid "Any CA" +msgstr "" + +#: ipaserver/plugins/internal.py:356 ipaserver/plugins/internal.py:499 +#: ipaserver/plugins/internal.py:592 ipaserver/plugins/internal.py:662 +#: ipaserver/plugins/internal.py:724 msgid "Any Host" msgstr "" -#: ipalib/plugins/internal.py:355 ipalib/plugins/internal.py:491 +#: ipaserver/plugins/internal.py:357 ipaserver/plugins/internal.py:500 msgid "Any Service" msgstr "" -#: ipalib/plugins/internal.py:356 +#: ipaserver/plugins/internal.py:358 msgid "Any Profile" msgstr "" -#: ipalib/plugins/internal.py:357 ipalib/plugins/internal.py:492 -#: ipalib/plugins/internal.py:582 ipalib/plugins/internal.py:652 -#: ipalib/plugins/internal.py:703 +#: ipaserver/plugins/internal.py:359 ipaserver/plugins/internal.py:501 +#: ipaserver/plugins/internal.py:593 ipaserver/plugins/internal.py:663 +#: ipaserver/plugins/internal.py:725 msgid "Anyone" msgstr "" -#: ipalib/plugins/internal.py:358 ipalib/plugins/internal.py:494 -#: ipalib/plugins/internal.py:708 +#: ipaserver/plugins/internal.py:360 ipaserver/plugins/internal.py:503 +#: ipaserver/plugins/internal.py:730 msgid "Rule status" msgstr "" -#: ipalib/plugins/internal.py:360 ipalib/plugins/internal.py:496 -#: ipalib/plugins/internal.py:588 ipalib/plugins/internal.py:654 -#: ipalib/plugins/internal.py:715 +#: ipaserver/plugins/internal.py:361 +msgid "If no CAs are specified, requests to the default CA are allowed." +msgstr "" + +#: ipaserver/plugins/internal.py:363 +msgid "Specified CAs" +msgstr "" + +#: ipaserver/plugins/internal.py:364 ipaserver/plugins/internal.py:505 +#: ipaserver/plugins/internal.py:599 ipaserver/plugins/internal.py:665 +#: ipaserver/plugins/internal.py:737 msgid "Specified Hosts and Groups" msgstr "" -#: ipalib/plugins/internal.py:361 +#: ipaserver/plugins/internal.py:365 msgid "Specified Profiles" msgstr "" -#: ipalib/plugins/internal.py:362 ipalib/plugins/internal.py:497 +#: ipaserver/plugins/internal.py:366 ipaserver/plugins/internal.py:506 msgid "Specified Services and Groups" msgstr "" -#: ipalib/plugins/internal.py:363 ipalib/plugins/internal.py:498 -#: ipalib/plugins/internal.py:589 ipalib/plugins/internal.py:655 -#: ipalib/plugins/internal.py:716 +#: ipaserver/plugins/internal.py:367 ipaserver/plugins/internal.py:507 +#: ipaserver/plugins/internal.py:600 ipaserver/plugins/internal.py:666 +#: ipaserver/plugins/internal.py:738 msgid "Specified Users and Groups" msgstr "" -#: ipalib/plugins/internal.py:364 +#: ipaserver/plugins/internal.py:368 msgid "Permitted to have certificates issued" msgstr "" -#: ipalib/plugins/internal.py:367 +#: ipaserver/plugins/internal.py:371 msgid "AA Compromise" msgstr "" -#: ipalib/plugins/internal.py:368 +#: ipaserver/plugins/internal.py:372 msgid "Add principal" msgstr "" -#: ipalib/plugins/internal.py:369 +#: ipaserver/plugins/internal.py:373 msgid "Affiliation Changed" msgstr "" -#: ipalib/plugins/internal.py:370 +#: ipaserver/plugins/internal.py:375 msgid "CA Compromise" msgstr "" -#: ipalib/plugins/internal.py:372 ipalib/plugins/internal.py:814 +#: ipaserver/plugins/internal.py:377 ipaserver/plugins/internal.py:838 msgid "Certificates" msgstr "" -#: ipalib/plugins/internal.py:373 +#: ipaserver/plugins/internal.py:378 msgid "Certificate Hold" msgstr "" -#: ipalib/plugins/internal.py:374 +#: ipaserver/plugins/internal.py:379 msgid "Cessation of Operation" msgstr "" -#: ipalib/plugins/internal.py:375 +#: ipaserver/plugins/internal.py:380 msgid "Common Name" msgstr "" -#: ipalib/plugins/internal.py:376 +#: ipaserver/plugins/internal.py:381 +msgid "Download" +msgstr "" + +#: ipaserver/plugins/internal.py:382 msgid "Expires On" msgstr "" -#: ipalib/plugins/internal.py:377 +#: ipaserver/plugins/internal.py:383 msgid "Issued on from" msgstr "" -#: ipalib/plugins/internal.py:378 +#: ipaserver/plugins/internal.py:384 msgid "Issued on to" msgstr "" -#: ipalib/plugins/internal.py:379 +#: ipaserver/plugins/internal.py:385 msgid "Maximum serial number" msgstr "" -#: ipalib/plugins/internal.py:380 +#: ipaserver/plugins/internal.py:386 msgid "Minimum serial number" msgstr "" -#: ipalib/plugins/internal.py:382 +#: ipaserver/plugins/internal.py:388 msgid "Revoked on from" msgstr "" -#: ipalib/plugins/internal.py:383 +#: ipaserver/plugins/internal.py:389 msgid "Revoked on to" msgstr "" -#: ipalib/plugins/internal.py:385 +#: ipaserver/plugins/internal.py:391 msgid "Valid not after from" msgstr "" -#: ipalib/plugins/internal.py:386 +#: ipaserver/plugins/internal.py:392 msgid "Valid not after to" msgstr "" -#: ipalib/plugins/internal.py:387 +#: ipaserver/plugins/internal.py:393 msgid "Valid not before from" msgstr "" -#: ipalib/plugins/internal.py:388 +#: ipaserver/plugins/internal.py:394 msgid "Valid not before to" msgstr "" -#: ipalib/plugins/internal.py:389 +#: ipaserver/plugins/internal.py:395 msgid "Fingerprints" msgstr "" -#: ipalib/plugins/internal.py:390 +#: ipaserver/plugins/internal.py:396 msgid "Get Certificate" msgstr "" -#: ipalib/plugins/internal.py:391 +#: ipaserver/plugins/internal.py:397 +msgid "Certificate Hold Removed" +msgstr "" + +#: ipaserver/plugins/internal.py:398 #, python-brace-format msgid "Issue New Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:392 +#: ipaserver/plugins/internal.py:399 msgid "Issue New Certificate" msgstr "" -#: ipalib/plugins/internal.py:393 +#: ipaserver/plugins/internal.py:400 msgid "Issued By" msgstr "" -#: ipalib/plugins/internal.py:394 +#: ipaserver/plugins/internal.py:401 msgid "Issued On" msgstr "" -#: ipalib/plugins/internal.py:395 +#: ipaserver/plugins/internal.py:402 msgid "Issued To" msgstr "" -#: ipalib/plugins/internal.py:396 +#: ipaserver/plugins/internal.py:403 msgid "Key Compromise" msgstr "" -#: ipalib/plugins/internal.py:397 +#: ipaserver/plugins/internal.py:404 msgid "MD5 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:398 +#: ipaserver/plugins/internal.py:405 msgid "No Valid Certificate" msgstr "" -#: ipalib/plugins/internal.py:399 +#: ipaserver/plugins/internal.py:406 msgid "New Certificate" msgstr "" -#: ipalib/plugins/internal.py:400 +#: ipaserver/plugins/internal.py:407 msgid "Note" msgstr "" -#: ipalib/plugins/internal.py:401 +#: ipaserver/plugins/internal.py:408 msgid "Organization" msgstr "" -#: ipalib/plugins/internal.py:402 +#: ipaserver/plugins/internal.py:409 msgid "Organizational Unit" msgstr "" -#: ipalib/plugins/internal.py:403 +#: ipaserver/plugins/internal.py:410 #, python-brace-format msgid "${count} certificate(s) present" msgstr "" -#: ipalib/plugins/internal.py:404 +#: ipaserver/plugins/internal.py:411 msgid "Privilege Withdrawn" msgstr "" -#: ipalib/plugins/internal.py:405 +#: ipaserver/plugins/internal.py:412 msgid "Reason for Revocation" msgstr "" -#: ipalib/plugins/internal.py:406 -msgid "Remove from CRL" +#: ipaserver/plugins/internal.py:413 +msgid "Remove Hold" msgstr "" -#: ipalib/plugins/internal.py:407 +#: ipaserver/plugins/internal.py:414 #, 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=<${cn_name}>,O=<realm>, for example:
      # certutil -R -d <database path> -a -g " -"<key size> -s 'CN=${cn},O=${realm}'
    4. Copy and paste " -"the CSR (from -----BEGIN NEW CERTIFICATE REQUEST----- to -----" -"END NEW CERTIFICATE REQUEST-----) into the text area below:
    " +msgid "Remove Certificate Hold for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:408 -msgid "Certificate requested" +#: ipaserver/plugins/internal.py:415 +msgid "Remove Certificate Hold" msgstr "" -#: ipalib/plugins/internal.py:409 -#, python-brace-format -msgid "Restore Certificate for ${entity} ${primary_key}" +#: ipaserver/plugins/internal.py:416 +msgid "" +"To confirm your intention to remove the certificate hold, click the \"Remove " +"hold\" button." msgstr "" -#: ipalib/plugins/internal.py:410 -msgid "Restore Certificate" +#: ipaserver/plugins/internal.py:417 +msgid "Remove from CRL" msgstr "" -#: ipalib/plugins/internal.py:411 +#: ipaserver/plugins/internal.py:418 +#, python-brace-format msgid "" -"To confirm your intention to restore this certificate, click the \"Restore\" " -"button." +"
    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=<${cn_name}>,O=<realm>, for example:
      # certutil -R -d <database path> -a -g " +"<key size> -s 'CN=${cn},O=${realm}'${san}
    4. Copy and " +"paste the CSR (from -----BEGIN NEW CERTIFICATE REQUEST----- to " +"-----END NEW CERTIFICATE REQUEST-----) into the text area below:
    " +msgstr "" + +#: ipaserver/plugins/internal.py:419 +#, python-brace-format +msgid " -8 '${cn}'" msgstr "" -#: ipalib/plugins/internal.py:412 -msgid "Certificate restored" +#: ipaserver/plugins/internal.py:420 +msgid "Certificate requested" msgstr "" -#: ipalib/plugins/internal.py:414 +#: ipaserver/plugins/internal.py:422 #, python-brace-format msgid "Revoke Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:415 +#: ipaserver/plugins/internal.py:423 msgid "Revoke Certificate" msgstr "" -#: ipalib/plugins/internal.py:416 +#: ipaserver/plugins/internal.py:424 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:417 +#: ipaserver/plugins/internal.py:425 msgid "Certificate Revoked" msgstr "" -#: ipalib/plugins/internal.py:420 +#: ipaserver/plugins/internal.py:428 msgid "SHA1 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:422 +#: ipaserver/plugins/internal.py:430 msgid "Superseded" msgstr "" -#: ipalib/plugins/internal.py:423 +#: ipaserver/plugins/internal.py:431 msgid "Unspecified" msgstr "" -#: ipalib/plugins/internal.py:424 +#: ipaserver/plugins/internal.py:432 msgid "Valid Certificate Present" msgstr "" -#: ipalib/plugins/internal.py:425 +#: ipaserver/plugins/internal.py:433 msgid "Validity" msgstr "" -#: ipalib/plugins/internal.py:426 +#: ipaserver/plugins/internal.py:434 #, python-brace-format msgid "Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:427 +#: ipaserver/plugins/internal.py:435 msgid "View Certificate" msgstr "" -#: ipalib/plugins/internal.py:430 +#: ipaserver/plugins/internal.py:438 msgid "Group Options" msgstr "" -#: ipalib/plugins/internal.py:431 +#: ipaserver/plugins/internal.py:439 msgid "Search Options" msgstr "" -#: ipalib/plugins/internal.py:432 +#: ipaserver/plugins/internal.py:440 msgid "SELinux Options" msgstr "" -#: ipalib/plugins/internal.py:433 +#: ipaserver/plugins/internal.py:441 msgid "Service Options" msgstr "" -#: ipalib/plugins/internal.py:434 +#: ipaserver/plugins/internal.py:442 msgid "User Options" msgstr "" -#: ipalib/plugins/internal.py:439 +#: ipaserver/plugins/internal.py:447 msgid "Forward first" msgstr "" -#: ipalib/plugins/internal.py:440 +#: ipaserver/plugins/internal.py:448 msgid "Forwarding disabled" msgstr "" -#: ipalib/plugins/internal.py:441 +#: ipaserver/plugins/internal.py:449 msgid "Forward only" msgstr "" -#: ipalib/plugins/internal.py:442 ipalib/plugins/internal.py:711 -#: ipalib/plugins/internal.py:740 +#: ipaserver/plugins/internal.py:450 ipaserver/plugins/internal.py:733 +#: ipaserver/plugins/internal.py:763 msgid "Options" msgstr "" -#: ipalib/plugins/internal.py:445 ipalib/plugins/vault.py:1805 -msgid "Data" -msgstr "" - -#: ipalib/plugins/internal.py:446 +#: ipaserver/plugins/internal.py:454 msgid "DNS record was deleted because it contained no data." msgstr "" -#: ipalib/plugins/internal.py:447 +#: ipaserver/plugins/internal.py:455 msgid "Other Record Types" msgstr "" -#: ipalib/plugins/internal.py:448 +#: ipaserver/plugins/internal.py:456 msgid "Address not valid, can't redirect" msgstr "" -#: ipalib/plugins/internal.py:449 +#: ipaserver/plugins/internal.py:457 msgid "Create dns record" msgstr "" -#: ipalib/plugins/internal.py:450 +#: ipaserver/plugins/internal.py:458 msgid "Creating record." msgstr "" -#: ipalib/plugins/internal.py:451 +#: ipaserver/plugins/internal.py:459 msgid "Record creation failed." msgstr "" -#: ipalib/plugins/internal.py:452 +#: ipaserver/plugins/internal.py:460 msgid "Checking if record exists." msgstr "" -#: ipalib/plugins/internal.py:453 +#: ipaserver/plugins/internal.py:461 msgid "Record not found." msgstr "" -#: ipalib/plugins/internal.py:454 +#: ipaserver/plugins/internal.py:462 msgid "Redirection to PTR record" msgstr "" -#: ipalib/plugins/internal.py:455 +#: ipaserver/plugins/internal.py:463 #, python-brace-format msgid "Zone found: ${zone}" msgstr "" -#: ipalib/plugins/internal.py:456 +#: ipaserver/plugins/internal.py:464 msgid "Target reverse zone not found." msgstr "" -#: ipalib/plugins/internal.py:457 +#: ipaserver/plugins/internal.py:465 msgid "Fetching DNS zones." msgstr "" -#: ipalib/plugins/internal.py:458 +#: ipaserver/plugins/internal.py:466 msgid "An error occurred while fetching dns zones." msgstr "" -#: ipalib/plugins/internal.py:459 +#: ipaserver/plugins/internal.py:467 msgid "You will be redirected to DNS Zone." msgstr "" -#: ipalib/plugins/internal.py:460 +#: ipaserver/plugins/internal.py:468 msgid "Standard Record Types" msgstr "" -#: ipalib/plugins/internal.py:461 +#: ipaserver/plugins/internal.py:469 msgid "Records for DNS Zone" msgstr "" -#: ipalib/plugins/internal.py:462 +#: ipaserver/plugins/internal.py:470 msgid "Record Type" msgstr "" -#: ipalib/plugins/internal.py:465 +#: ipaserver/plugins/internal.py:473 msgid "DNS Zone Settings" msgstr "" -#: ipalib/plugins/internal.py:466 +#: ipaserver/plugins/internal.py:474 msgid "Add Permission" msgstr "" -#: ipalib/plugins/internal.py:467 +#: ipaserver/plugins/internal.py:475 #, python-brace-format msgid "Are you sure you want to add permission for DNS Zone ${object}?" msgstr "" -#: ipalib/plugins/internal.py:468 +#: ipaserver/plugins/internal.py:476 msgid "Remove Permission" msgstr "" -#: ipalib/plugins/internal.py:469 +#: ipaserver/plugins/internal.py:477 #, python-brace-format msgid "Are you sure you want to remove permission for DNS Zone ${object}?" msgstr "" -#: ipalib/plugins/internal.py:470 +#: ipaserver/plugins/internal.py:478 msgid "Skip DNS check" msgstr "" -#: ipalib/plugins/internal.py:471 +#: ipaserver/plugins/internal.py:479 +msgid "Skip overlap check" +msgstr "" + +#: ipaserver/plugins/internal.py:480 msgid "Do you want to check if new authoritative nameserver address is in DNS" msgstr "" -#: ipalib/plugins/internal.py:472 +#: ipaserver/plugins/internal.py:481 msgid "Authoritative nameserver change" msgstr "" -#: ipalib/plugins/internal.py:477 +#: ipaserver/plugins/internal.py:486 msgid "Level" msgstr "" -#: ipalib/plugins/internal.py:478 +#: ipaserver/plugins/internal.py:487 msgid "Set Domain Level" msgstr "" -#: ipalib/plugins/internal.py:481 +#: ipaserver/plugins/internal.py:490 msgid "Group Settings" msgstr "" -#: ipalib/plugins/internal.py:482 ipalib/plugins/internal.py:583 -#: ipalib/plugins/internal.py:706 +#: ipaserver/plugins/internal.py:491 ipaserver/plugins/internal.py:594 +#: ipaserver/plugins/internal.py:728 msgid "External" msgstr "" -#: ipalib/plugins/internal.py:483 +#: ipaserver/plugins/internal.py:492 msgid "Change to external group" msgstr "" -#: ipalib/plugins/internal.py:484 +#: ipaserver/plugins/internal.py:493 msgid "Change to POSIX group" msgstr "" -#: ipalib/plugins/internal.py:485 +#: ipaserver/plugins/internal.py:494 msgid "Normal" msgstr "" -#: ipalib/plugins/internal.py:486 +#: ipaserver/plugins/internal.py:495 msgid "POSIX" msgstr "" -#: ipalib/plugins/internal.py:487 +#: ipaserver/plugins/internal.py:496 msgid "Group Type" msgstr "" -#: ipalib/plugins/internal.py:493 +#: ipaserver/plugins/internal.py:502 msgid "Accessing" msgstr "" -#: ipalib/plugins/internal.py:495 +#: ipaserver/plugins/internal.py:504 msgid "Via Service" msgstr "" -#: ipalib/plugins/internal.py:499 ipalib/plugins/internal.py:717 +#: ipaserver/plugins/internal.py:508 ipaserver/plugins/internal.py:739 msgid "Who" msgstr "" -#: ipalib/plugins/internal.py:507 +#: ipaserver/plugins/internal.py:516 msgid "Access Denied" msgstr "" -#: ipalib/plugins/internal.py:508 +#: ipaserver/plugins/internal.py:517 msgid "Access Granted" msgstr "" -#: ipalib/plugins/internal.py:509 +#: ipaserver/plugins/internal.py:518 msgid "Include Disabled" msgstr "" -#: ipalib/plugins/internal.py:510 +#: ipaserver/plugins/internal.py:519 msgid "Include Enabled" msgstr "" -#: ipalib/plugins/internal.py:511 +#: ipaserver/plugins/internal.py:520 msgid "HBAC Test" msgstr "" -#: ipalib/plugins/internal.py:512 +#: ipaserver/plugins/internal.py:521 msgid "Matched" msgstr "" -#: ipalib/plugins/internal.py:513 +#: ipaserver/plugins/internal.py:522 msgid "Missing values: " msgstr "" -#: ipalib/plugins/internal.py:514 +#: ipaserver/plugins/internal.py:523 msgid "New Test" msgstr "" -#: ipalib/plugins/internal.py:515 +#: ipaserver/plugins/internal.py:524 msgid "Rules" msgstr "" -#: ipalib/plugins/internal.py:516 +#: ipaserver/plugins/internal.py:525 msgid "Run Test" msgstr "" -#: ipalib/plugins/internal.py:517 +#: ipaserver/plugins/internal.py:526 #, python-brace-format msgid "Specify external ${entity}" msgstr "" -#: ipalib/plugins/internal.py:518 +#: ipaserver/plugins/internal.py:527 msgid "Unmatched" msgstr "" -#: ipalib/plugins/internal.py:521 +#: ipaserver/plugins/internal.py:530 msgid "Host Certificate" msgstr "" -#: ipalib/plugins/internal.py:522 ipalib/plugins/internal.py:662 +#: ipaserver/plugins/internal.py:531 ipaserver/plugins/internal.py:680 msgid "Host Name" msgstr "" -#: ipalib/plugins/internal.py:523 ipalib/plugins/internal.py:660 +#: ipaserver/plugins/internal.py:532 ipaserver/plugins/internal.py:678 msgid "Delete Key, Unprovision" msgstr "" -#: ipalib/plugins/internal.py:524 +#: ipaserver/plugins/internal.py:533 msgid "Host Settings" msgstr "" -#: ipalib/plugins/internal.py:525 +#: ipaserver/plugins/internal.py:534 msgid "Enrolled" msgstr "" -#: ipalib/plugins/internal.py:526 +#: ipaserver/plugins/internal.py:535 msgid "Enrollment" msgstr "" -#: ipalib/plugins/internal.py:527 +#: ipaserver/plugins/internal.py:536 msgid "Fully Qualified Host Name" msgstr "" -#: ipalib/plugins/internal.py:528 +#: ipaserver/plugins/internal.py:537 +msgid "Generate OTP" +msgstr "" + +#: ipaserver/plugins/internal.py:538 +msgid "Generated OTP" +msgstr "" + +#: ipaserver/plugins/internal.py:539 msgid "Kerberos Key" msgstr "" -#: ipalib/plugins/internal.py:529 ipalib/plugins/internal.py:663 +#: ipaserver/plugins/internal.py:540 ipaserver/plugins/internal.py:681 msgid "Kerberos Key Not Present" msgstr "" -#: ipalib/plugins/internal.py:530 +#: ipaserver/plugins/internal.py:541 msgid "Kerberos Key Present, Host Provisioned" msgstr "" -#: ipalib/plugins/internal.py:531 ipalib/plugins/internal.py:772 +#: ipaserver/plugins/internal.py:542 ipaserver/plugins/internal.py:795 msgid "One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:532 +#: ipaserver/plugins/internal.py:543 msgid "One-Time-Password Not Present" msgstr "" -#: ipalib/plugins/internal.py:533 +#: ipaserver/plugins/internal.py:544 msgid "One-Time-Password Present" msgstr "" -#: ipalib/plugins/internal.py:534 +#: ipaserver/plugins/internal.py:545 msgid "Reset OTP" msgstr "" -#: ipalib/plugins/internal.py:535 +#: ipaserver/plugins/internal.py:546 msgid "Reset One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:536 +#: ipaserver/plugins/internal.py:547 msgid "Set OTP" msgstr "" -#: ipalib/plugins/internal.py:537 +#: ipaserver/plugins/internal.py:548 msgid "OTP set" msgstr "" -#: ipalib/plugins/internal.py:538 +#: ipaserver/plugins/internal.py:549 msgid "Set One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:540 ipalib/plugins/internal.py:667 +#: ipaserver/plugins/internal.py:551 ipaserver/plugins/internal.py:685 msgid "Unprovision" msgstr "" -#: ipalib/plugins/internal.py:541 +#: ipaserver/plugins/internal.py:552 msgid "Are you sure you want to unprovision this host?" msgstr "" -#: ipalib/plugins/internal.py:542 ipalib/plugins/internal.py:669 +#: ipaserver/plugins/internal.py:553 ipaserver/plugins/internal.py:687 #, python-brace-format msgid "Unprovisioning ${entity}" msgstr "" -#: ipalib/plugins/internal.py:543 +#: ipaserver/plugins/internal.py:554 msgid "Host unprovisioned" msgstr "" -#: ipalib/plugins/internal.py:546 +#: ipaserver/plugins/internal.py:557 msgid "Host Group Settings" msgstr "" -#: ipalib/plugins/internal.py:549 +#: ipaserver/plugins/internal.py:560 msgid "User to override" msgstr "" -#: ipalib/plugins/internal.py:550 +#: ipaserver/plugins/internal.py:561 msgid "" "Enter trusted or IPA user login. Note: search doesn't list users from " "trusted domains." msgstr "" -#: ipalib/plugins/internal.py:551 +#: ipaserver/plugins/internal.py:562 msgid "Enter trusted user login." msgstr "" -#: ipalib/plugins/internal.py:554 +#: ipaserver/plugins/internal.py:565 msgid "Group to override" msgstr "" -#: ipalib/plugins/internal.py:555 +#: ipaserver/plugins/internal.py:566 msgid "" "Enter trusted or IPA group name. Note: search doesn't list groups from " "trusted domains." msgstr "" -#: ipalib/plugins/internal.py:556 +#: ipaserver/plugins/internal.py:567 msgid "Enter trusted group name." msgstr "" -#: ipalib/plugins/internal.py:559 +#: ipaserver/plugins/internal.py:570 #, python-brace-format msgid "${primary_key} applies to:" msgstr "" -#: ipalib/plugins/internal.py:560 ipalib/plugins/internal.py:561 +#: ipaserver/plugins/internal.py:571 ipaserver/plugins/internal.py:572 msgid "Applied to hosts" msgstr "" -#: ipalib/plugins/internal.py:562 +#: ipaserver/plugins/internal.py:573 msgid "Apply to host groups" msgstr "" -#: ipalib/plugins/internal.py:563 +#: ipaserver/plugins/internal.py:574 #, python-brace-format msgid "Apply ID View ${primary_key} on hosts of ${entity}" msgstr "" -#: ipalib/plugins/internal.py:564 +#: ipaserver/plugins/internal.py:575 msgid "Apply to hosts" msgstr "" -#: ipalib/plugins/internal.py:565 +#: ipaserver/plugins/internal.py:576 #, python-brace-format msgid "Apply ID view ${primary_key} on ${entity}" msgstr "" -#: ipalib/plugins/internal.py:567 +#: ipaserver/plugins/internal.py:578 #, python-brace-format msgid "${primary_key} overrides:" msgstr "" -#: ipalib/plugins/internal.py:568 +#: ipaserver/plugins/internal.py:579 msgid "Un-apply from host groups" msgstr "" -#: ipalib/plugins/internal.py:569 +#: ipaserver/plugins/internal.py:580 msgid "Un-apply ID Views from hosts of hostgroups" msgstr "" -#: ipalib/plugins/internal.py:570 +#: ipaserver/plugins/internal.py:581 #, python-brace-format msgid "Un-apply ID View ${primary_key} from hosts of ${entity}" msgstr "" -#: ipalib/plugins/internal.py:571 +#: ipaserver/plugins/internal.py:582 msgid "Un-apply" msgstr "" -#: ipalib/plugins/internal.py:572 +#: ipaserver/plugins/internal.py:583 msgid "Un-apply from hosts" msgstr "" -#: ipalib/plugins/internal.py:573 +#: ipaserver/plugins/internal.py:584 msgid "Un-apply ID Views from hosts" msgstr "" -#: ipalib/plugins/internal.py:574 +#: ipaserver/plugins/internal.py:585 msgid "Are you sure you want to un-apply ID view from selected entries?" msgstr "" -#: ipalib/plugins/internal.py:575 +#: ipaserver/plugins/internal.py:586 #, python-brace-format msgid "Un-apply ID View ${primary_key} from hosts" msgstr "" -#: ipalib/plugins/internal.py:578 ipalib/plugins/krbtpolicy.py:118 -#: ipalib/plugins/krbtpolicy.py:119 +#: ipaserver/plugins/internal.py:589 ipaserver/plugins/krbtpolicy.py:118 +#: ipaserver/plugins/krbtpolicy.py:119 msgid "Kerberos Ticket Policy" msgstr "" -#: ipalib/plugins/internal.py:587 +#: ipaserver/plugins/internal.py:598 msgid "Netgroup Settings" msgstr "" -#: ipalib/plugins/internal.py:595 +#: ipaserver/plugins/internal.py:606 msgid "Add OTP Token" msgstr "" -#: ipalib/plugins/internal.py:596 +#: ipaserver/plugins/internal.py:607 #, python-brace-format msgid "" "You can use FreeOTP as a software " "OTP token application." msgstr "" -#: ipalib/plugins/internal.py:597 +#: ipaserver/plugins/internal.py:608 msgid "Configure your token" msgstr "" -#: ipalib/plugins/internal.py:598 +#: ipaserver/plugins/internal.py:609 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:599 +#: ipaserver/plugins/internal.py:610 msgid "OTP Token Settings" msgstr "" -#: ipalib/plugins/internal.py:600 +#: ipaserver/plugins/internal.py:611 msgid "Disable token" msgstr "" -#: ipalib/plugins/internal.py:601 +#: ipaserver/plugins/internal.py:612 msgid "Enable token" msgstr "" -#: ipalib/plugins/internal.py:602 +#: ipaserver/plugins/internal.py:613 msgid "Show QR code" msgstr "" -#: ipalib/plugins/internal.py:603 +#: ipaserver/plugins/internal.py:614 msgid "Show configuration uri" msgstr "" -#: ipalib/plugins/internal.py:604 +#: ipaserver/plugins/internal.py:615 msgid "Counter-based (HOTP)" msgstr "" -#: ipalib/plugins/internal.py:605 +#: ipaserver/plugins/internal.py:616 msgid "Time-based (TOTP)" msgstr "" -#: ipalib/plugins/internal.py:608 -msgid "Add custom attribute" +#: ipaserver/plugins/internal.py:619 +msgid "Add Custom Attribute" msgstr "" -#: ipalib/plugins/internal.py:611 +#: ipaserver/plugins/internal.py:622 msgid "Permission settings" msgstr "" -#: ipalib/plugins/internal.py:612 +#: ipaserver/plugins/internal.py:623 msgid "Attribute breakdown" msgstr "" -#: ipalib/plugins/internal.py:616 +#: ipaserver/plugins/internal.py:627 msgid "Privilege Settings" msgstr "" -#: ipalib/plugins/internal.py:619 ipalib/plugins/pwpolicy.py:313 +#: ipaserver/plugins/internal.py:630 ipaserver/plugins/pwpolicy.py:320 msgid "Password Policy" msgstr "" -#: ipalib/plugins/internal.py:622 +#: ipaserver/plugins/internal.py:633 msgid "Range Settings" msgstr "" -#: ipalib/plugins/internal.py:623 +#: ipaserver/plugins/internal.py:634 msgid "Base ID" msgstr "" -#: ipalib/plugins/internal.py:624 +#: ipaserver/plugins/internal.py:635 msgid "Primary RID base" msgstr "" -#: ipalib/plugins/internal.py:625 +#: ipaserver/plugins/internal.py:636 msgid "Range size" msgstr "" -#: ipalib/plugins/internal.py:626 +#: ipaserver/plugins/internal.py:637 msgid "Domain SID" msgstr "" -#: ipalib/plugins/internal.py:627 +#: ipaserver/plugins/internal.py:638 msgid "Secondary RID base" msgstr "" -#: ipalib/plugins/internal.py:629 ipalib/plugins/trust.py:153 +#: ipaserver/plugins/internal.py:640 ipaserver/plugins/trust.py:175 msgid "Active Directory domain" msgstr "" -#: ipalib/plugins/internal.py:630 +#: ipaserver/plugins/internal.py:641 msgid "Active Directory domain with POSIX attributes" msgstr "" -#: ipalib/plugins/internal.py:631 +#: ipaserver/plugins/internal.py:642 msgid "Detect" msgstr "" -#: ipalib/plugins/internal.py:632 +#: ipaserver/plugins/internal.py:643 msgid "Local domain" msgstr "" -#: ipalib/plugins/internal.py:633 +#: ipaserver/plugins/internal.py:644 msgid "IPA trust" msgstr "" -#: ipalib/plugins/internal.py:634 +#: ipaserver/plugins/internal.py:645 msgid "Active Directory winsync" msgstr "" -#: ipalib/plugins/internal.py:637 +#: ipaserver/plugins/internal.py:648 msgid "RADIUS Proxy Server Settings" msgstr "" -#: ipalib/plugins/internal.py:640 ipalib/plugins/realmdomains.py:97 -#: ipalib/plugins/realmdomains.py:98 +#: ipaserver/plugins/internal.py:651 ipaserver/plugins/realmdomains.py:97 +#: ipaserver/plugins/realmdomains.py:98 msgid "Realm Domains" msgstr "" -#: ipalib/plugins/internal.py:641 +#: ipaserver/plugins/internal.py:652 msgid "Check DNS" msgstr "" -#: ipalib/plugins/internal.py:642 +#: ipaserver/plugins/internal.py:653 msgid "Do you also want to perform DNS check?" msgstr "" -#: ipalib/plugins/internal.py:643 +#: ipaserver/plugins/internal.py:654 msgid "Force Update" msgstr "" -#: ipalib/plugins/internal.py:646 +#: ipaserver/plugins/internal.py:657 msgid "Role Settings" msgstr "" -#: ipalib/plugins/internal.py:659 +#: ipaserver/plugins/internal.py:670 +msgid "Server Roles" +msgstr "" + +#: ipaserver/plugins/internal.py:671 +msgid "Server Role" +msgstr "" + +#: ipaserver/plugins/internal.py:674 +msgid "Authentication indicators" +msgstr "" + +#: ipaserver/plugins/internal.py:675 +msgid "Authentication indicator" +msgstr "" + +#: ipaserver/plugins/internal.py:676 msgid "Service Certificate" msgstr "" -#: ipalib/plugins/internal.py:661 +#: ipaserver/plugins/internal.py:677 +msgid "Add Custom Authentication Indicator" +msgstr "" + +#: ipaserver/plugins/internal.py:679 msgid "Service Settings" msgstr "" -#: ipalib/plugins/internal.py:664 +#: ipaserver/plugins/internal.py:682 msgid "Provisioning" msgstr "" -#: ipalib/plugins/internal.py:668 +#: ipaserver/plugins/internal.py:686 msgid "Are you sure you want to unprovision this service?" msgstr "" -#: ipalib/plugins/internal.py:670 +#: ipaserver/plugins/internal.py:688 msgid "Service unprovisioned" msgstr "" -#: ipalib/plugins/internal.py:671 +#: ipaserver/plugins/internal.py:689 msgid "Kerberos Key Present, Service Provisioned" msgstr "" -#: ipalib/plugins/internal.py:674 +#: ipaserver/plugins/internal.py:692 msgid "SSH public keys" msgstr "" -#: ipalib/plugins/internal.py:675 +#: ipaserver/plugins/internal.py:693 msgid "SSH public key:" msgstr "" -#: ipalib/plugins/internal.py:676 +#: ipaserver/plugins/internal.py:694 msgid "Set SSH key" msgstr "" -#: ipalib/plugins/internal.py:677 +#: ipaserver/plugins/internal.py:695 msgid "Show/Set key" msgstr "" -#: ipalib/plugins/internal.py:678 +#: ipaserver/plugins/internal.py:696 msgid "Modified: key not set" msgstr "" -#: ipalib/plugins/internal.py:679 +#: ipaserver/plugins/internal.py:697 msgid "Modified" msgstr "" -#: ipalib/plugins/internal.py:680 +#: ipaserver/plugins/internal.py:698 msgid "New: key not set" msgstr "" -#: ipalib/plugins/internal.py:681 +#: ipaserver/plugins/internal.py:699 msgid "New: key set" msgstr "" -#: ipalib/plugins/internal.py:684 +#: ipaserver/plugins/internal.py:702 msgid "Are you sure you want to activate selected users?" msgstr "" -#: ipalib/plugins/internal.py:685 +#: ipaserver/plugins/internal.py:703 +#, python-brace-format +msgid "Are you sure you want to activate ${object}?" +msgstr "" + +#: ipaserver/plugins/internal.py:704 #, python-brace-format msgid "${count} user(s) activated" msgstr "" -#: ipalib/plugins/internal.py:686 +#: ipaserver/plugins/internal.py:705 msgid "Stage users" msgstr "" -#: ipalib/plugins/internal.py:687 +#: ipaserver/plugins/internal.py:706 msgid "Preserved users" msgstr "" -#: ipalib/plugins/internal.py:688 +#: ipaserver/plugins/internal.py:707 +msgid "Are you sure you want to stage selected users?" +msgstr "" + +#: ipaserver/plugins/internal.py:708 +#, python-brace-format +msgid "${count} users(s) staged" +msgstr "" + +#: ipaserver/plugins/internal.py:709 +#, python-brace-format +msgid "Are you sure you want to stage ${object}?" +msgstr "" + +#: ipaserver/plugins/internal.py:710 msgid "Are you sure you want to restore selected users?" msgstr "" -#: ipalib/plugins/internal.py:689 +#: ipaserver/plugins/internal.py:711 #, python-brace-format msgid "${count} user(s) restored" msgstr "" -#: ipalib/plugins/internal.py:690 +#: ipaserver/plugins/internal.py:712 msgid "User categories" msgstr "" -#: ipalib/plugins/internal.py:693 +#: ipaserver/plugins/internal.py:715 msgid "Groups" msgstr "" -#: ipalib/plugins/internal.py:696 ipalib/plugins/sudocmdgroup.py:126 +#: ipaserver/plugins/internal.py:718 ipaserver/plugins/sudocmdgroup.py:134 msgid "Commands" msgstr "" -#: ipalib/plugins/internal.py:699 +#: ipaserver/plugins/internal.py:721 msgid "Allow" msgstr "" -#: ipalib/plugins/internal.py:700 +#: ipaserver/plugins/internal.py:722 msgid "Any Command" msgstr "" -#: ipalib/plugins/internal.py:701 +#: ipaserver/plugins/internal.py:723 msgid "Any Group" msgstr "" -#: ipalib/plugins/internal.py:704 +#: ipaserver/plugins/internal.py:726 msgid "Run Commands" msgstr "" -#: ipalib/plugins/internal.py:705 +#: ipaserver/plugins/internal.py:727 msgid "Deny" msgstr "" -#: ipalib/plugins/internal.py:707 +#: ipaserver/plugins/internal.py:729 msgid "Access this host" msgstr "" -#: ipalib/plugins/internal.py:709 +#: ipaserver/plugins/internal.py:731 msgid "Option added" msgstr "" -#: ipalib/plugins/internal.py:710 +#: ipaserver/plugins/internal.py:732 #, python-brace-format msgid "${count} option(s) removed" msgstr "" -#: ipalib/plugins/internal.py:712 +#: ipaserver/plugins/internal.py:734 msgid "As Whom" msgstr "" -#: ipalib/plugins/internal.py:713 +#: ipaserver/plugins/internal.py:735 msgid "Specified Commands and Groups" msgstr "" -#: ipalib/plugins/internal.py:714 +#: ipaserver/plugins/internal.py:736 msgid "Specified Groups" msgstr "" -#: ipalib/plugins/internal.py:720 +#: ipaserver/plugins/internal.py:742 msgid "Segment details" msgstr "" -#: ipalib/plugins/internal.py:721 +#: ipaserver/plugins/internal.py:743 msgid "Replication configuration" msgstr "" -#: ipalib/plugins/internal.py:722 +#: ipaserver/plugins/internal.py:744 #, python-brace-format msgid "Managed topology requires minimal domain level ${domainlevel}" msgstr "" -#: ipalib/plugins/internal.py:725 +#: ipaserver/plugins/internal.py:747 msgid "Account" msgstr "" -#: ipalib/plugins/internal.py:726 +#: ipaserver/plugins/internal.py:748 msgid "Administrative account" msgstr "" -#: ipalib/plugins/internal.py:727 +#: ipaserver/plugins/internal.py:749 msgid "SID blacklists" msgstr "" -#: ipalib/plugins/internal.py:728 +#: ipaserver/plugins/internal.py:750 msgid "Trust Settings" msgstr "" -#: ipalib/plugins/internal.py:729 ipalib/plugins/realmdomains.py:105 -#: ipalib/plugins/trust.py:1093 +#: ipaserver/plugins/internal.py:751 ipaserver/plugins/realmdomains.py:105 +#: ipaserver/plugins/trust.py:1161 msgid "Domain" msgstr "" -#: ipalib/plugins/internal.py:730 +#: ipaserver/plugins/internal.py:752 msgid "Establish using" msgstr "" -#: ipalib/plugins/internal.py:731 +#: ipaserver/plugins/internal.py:753 msgid "Fetch domains" msgstr "" -#: ipalib/plugins/internal.py:732 ipalib/plugins/trust.py:508 -#: ipalib/plugins/trust.py:1410 +#: ipaserver/plugins/internal.py:754 ipaserver/plugins/trust.py:540 +#: ipaserver/plugins/trust.py:1511 msgid "Domain NetBIOS name" msgstr "" -#: ipalib/plugins/internal.py:733 ipalib/plugins/trust.py:512 -#: ipalib/plugins/trust.py:1414 +#: ipaserver/plugins/internal.py:755 ipaserver/plugins/trust.py:544 +#: ipaserver/plugins/trust.py:1515 msgid "Domain Security Identifier" msgstr "" -#: ipalib/plugins/internal.py:734 +#: ipaserver/plugins/internal.py:756 msgid "Pre-shared password" msgstr "" -#: ipalib/plugins/internal.py:735 ipalib/plugins/trust.py:145 +#: ipaserver/plugins/internal.py:757 ipaserver/plugins/trust.py:162 msgid "Trust direction" msgstr "" -#: ipalib/plugins/internal.py:736 ipalib/plugins/trust.py:149 +#: ipaserver/plugins/internal.py:758 ipaserver/plugins/trust.py:166 msgid "Trust status" msgstr "" -#: ipalib/plugins/internal.py:737 ipalib/plugins/trust.py:147 +#: ipaserver/plugins/internal.py:759 ipaserver/plugins/trust.py:164 msgid "Trust type" msgstr "" -#: ipalib/plugins/internal.py:743 +#: ipaserver/plugins/internal.py:760 +msgid "Alternative UPN suffixes" +msgstr "" + +#: ipaserver/plugins/internal.py:766 msgid "Account Settings" msgstr "" -#: ipalib/plugins/internal.py:744 +#: ipaserver/plugins/internal.py:767 msgid "Account Status" msgstr "" -#: ipalib/plugins/internal.py:745 +#: ipaserver/plugins/internal.py:768 msgid "Active users" msgstr "" -#: ipalib/plugins/internal.py:746 +#: ipaserver/plugins/internal.py:769 msgid "Contact Settings" msgstr "" -#: ipalib/plugins/internal.py:747 +#: ipaserver/plugins/internal.py:770 msgid "Delete mode" msgstr "" -#: ipalib/plugins/internal.py:748 +#: ipaserver/plugins/internal.py:771 msgid "Employee Information" msgstr "" -#: ipalib/plugins/internal.py:749 +#: ipaserver/plugins/internal.py:772 msgid "Error changing account status" msgstr "" -#: ipalib/plugins/internal.py:750 +#: ipaserver/plugins/internal.py:773 msgid "Password expiration" msgstr "" -#: ipalib/plugins/internal.py:751 +#: ipaserver/plugins/internal.py:774 msgid "Mailing Address" msgstr "" -#: ipalib/plugins/internal.py:752 +#: ipaserver/plugins/internal.py:775 msgid "Misc. Information" msgstr "" -#: ipalib/plugins/internal.py:753 +#: ipaserver/plugins/internal.py:776 msgid "delete" msgstr "" -#: ipalib/plugins/internal.py:754 +#: ipaserver/plugins/internal.py:777 msgid "preserve" msgstr "" -#: ipalib/plugins/internal.py:755 +#: ipaserver/plugins/internal.py:778 msgid "No private group" msgstr "" -#: ipalib/plugins/internal.py:756 +#: ipaserver/plugins/internal.py:779 #, python-brace-format msgid "" "Are you sure you want to ${action} the user?
    The change will take effect " "immediately." msgstr "" -#: ipalib/plugins/internal.py:757 +#: ipaserver/plugins/internal.py:780 #, python-brace-format msgid "Click to ${action}" msgstr "" -#: ipalib/plugins/internal.py:758 +#: ipaserver/plugins/internal.py:781 msgid "Unlock" msgstr "" -#: ipalib/plugins/internal.py:759 +#: ipaserver/plugins/internal.py:782 #, python-brace-format msgid "Are you sure you want to unlock user ${object}?" msgstr "" -#: ipalib/plugins/internal.py:763 ipalib/plugins/passwd.py:84 +#: ipaserver/plugins/internal.py:786 ipaserver/plugins/passwd.py:84 msgid "Current Password" msgstr "" -#: ipalib/plugins/internal.py:764 +#: ipaserver/plugins/internal.py:787 msgid "Current password is required" msgstr "" -#: ipalib/plugins/internal.py:765 +#: ipaserver/plugins/internal.py:788 #, python-brace-format msgid "Your password expires in ${days} days." msgstr "" -#: ipalib/plugins/internal.py:766 +#: ipaserver/plugins/internal.py:789 msgid "First OTP" msgstr "" -#: ipalib/plugins/internal.py:767 +#: ipaserver/plugins/internal.py:790 msgid "The password or username you entered is incorrect." msgstr "" -#: ipalib/plugins/internal.py:768 ipalib/plugins/passwd.py:81 +#: ipaserver/plugins/internal.py:791 ipaserver/plugins/passwd.py:81 msgid "New Password" msgstr "" -#: ipalib/plugins/internal.py:769 +#: ipaserver/plugins/internal.py:792 msgid "New password is required" msgstr "" -#: ipalib/plugins/internal.py:770 ipalib/plugins/passwd.py:94 -msgid "OTP" -msgstr "" - -#: ipalib/plugins/internal.py:771 +#: ipaserver/plugins/internal.py:794 msgid "" " One-Time-Password(OTP): " "Generate new OTP code for each OTP field." msgstr "" -#: ipalib/plugins/internal.py:773 +#: ipaserver/plugins/internal.py:796 msgid "Token synchronization failed" msgstr "" -#: ipalib/plugins/internal.py:774 +#: ipaserver/plugins/internal.py:797 msgid "The username, password or token codes are not correct" msgstr "" -#: ipalib/plugins/internal.py:775 +#: ipaserver/plugins/internal.py:798 msgid "Token was synchronized" msgstr "" -#: ipalib/plugins/internal.py:777 +#: ipaserver/plugins/internal.py:800 msgid "Password or Password+One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:778 +#: ipaserver/plugins/internal.py:801 msgid "Password change complete" msgstr "" -#: ipalib/plugins/internal.py:779 +#: ipaserver/plugins/internal.py:802 msgid "Passwords must match" msgstr "" -#: ipalib/plugins/internal.py:780 +#: ipaserver/plugins/internal.py:803 msgid "Password reset was not successful." msgstr "" -#: ipalib/plugins/internal.py:781 +#: ipaserver/plugins/internal.py:804 msgid "Reset Password" msgstr "" -#: ipalib/plugins/internal.py:782 +#: ipaserver/plugins/internal.py:805 msgid "Reset your password." msgstr "" -#: ipalib/plugins/internal.py:783 +#: ipaserver/plugins/internal.py:806 msgid "Second OTP" msgstr "" -#: ipalib/plugins/internal.py:784 ipalib/plugins/otptoken.py:513 -msgid "Token ID" -msgstr "" - -#: ipalib/plugins/internal.py:785 +#: ipaserver/plugins/internal.py:808 msgid "Verify Password" msgstr "" -#: ipalib/plugins/internal.py:788 +#: ipaserver/plugins/internal.py:811 msgid "Are you sure you want to delete selected entries?" msgstr "" -#: ipalib/plugins/internal.py:789 +#: ipaserver/plugins/internal.py:812 #, python-brace-format msgid "${count} item(s) deleted" msgstr "" -#: ipalib/plugins/internal.py:790 +#: ipaserver/plugins/internal.py:813 msgid "Are you sure you want to disable selected entries?" msgstr "" -#: ipalib/plugins/internal.py:791 +#: ipaserver/plugins/internal.py:814 #, python-brace-format msgid "${count} item(s) disabled" msgstr "" -#: ipalib/plugins/internal.py:792 +#: ipaserver/plugins/internal.py:815 msgid "Are you sure you want to enable selected entries?" msgstr "" -#: ipalib/plugins/internal.py:793 +#: ipaserver/plugins/internal.py:816 #, python-brace-format msgid "${count} item(s) enabled" msgstr "" -#: ipalib/plugins/internal.py:794 +#: ipaserver/plugins/internal.py:817 msgid "Some entries were not deleted" msgstr "" -#: ipalib/plugins/internal.py:796 +#: ipaserver/plugins/internal.py:820 msgid "Quick Links" msgstr "" -#: ipalib/plugins/internal.py:797 +#: ipaserver/plugins/internal.py:821 msgid "Select All" msgstr "" -#: ipalib/plugins/internal.py:798 +#: ipaserver/plugins/internal.py:822 #, python-brace-format msgid "" "Query returned more results than the configured size limit. Displaying the " "first ${counter} results." msgstr "" -#: ipalib/plugins/internal.py:799 +#: ipaserver/plugins/internal.py:823 msgid "Unselect All" msgstr "" -#: ipalib/plugins/internal.py:803 ipalib/plugins/otptoken.py:188 +#: ipaserver/plugins/internal.py:827 ipaserver/plugins/otptoken.py:187 msgid "Disabled" msgstr "" -#: ipalib/plugins/internal.py:807 +#: ipaserver/plugins/internal.py:831 msgid "Working" msgstr "" -#: ipalib/plugins/internal.py:810 +#: ipaserver/plugins/internal.py:834 msgid "Audit" msgstr "" -#: ipalib/plugins/internal.py:811 +#: ipaserver/plugins/internal.py:835 msgid "Authentication" msgstr "" -#: ipalib/plugins/internal.py:813 +#: ipaserver/plugins/internal.py:837 msgid "Automount" msgstr "" -#: ipalib/plugins/internal.py:815 +#: ipaserver/plugins/internal.py:839 msgid "DNS" msgstr "" -#: ipalib/plugins/internal.py:816 +#: ipaserver/plugins/internal.py:840 msgid "Host Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:817 +#: ipaserver/plugins/internal.py:841 msgid "Identity" msgstr "" -#: ipalib/plugins/internal.py:818 ipalib/plugins/server.py:47 +#: ipaserver/plugins/internal.py:842 ipaserver/plugins/location.py:157 +#: ipaserver/plugins/server.py:63 msgid "IPA Server" msgstr "" -#: ipalib/plugins/internal.py:819 +#: ipaserver/plugins/internal.py:843 msgid "Network Services" msgstr "" -#: ipalib/plugins/internal.py:820 +#: ipaserver/plugins/internal.py:844 msgid "Policy" msgstr "" -#: ipalib/plugins/internal.py:821 +#: ipaserver/plugins/internal.py:845 msgid "Role Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:822 +#: ipaserver/plugins/internal.py:846 msgid "Sudo" msgstr "" -#: ipalib/plugins/internal.py:823 +#: ipaserver/plugins/internal.py:847 msgid "Topology" msgstr "" -#: ipalib/plugins/internal.py:824 ipalib/plugins/trust.py:497 +#: ipaserver/plugins/internal.py:848 ipaserver/plugins/trust.py:529 msgid "Trusts" msgstr "" -#: ipalib/plugins/internal.py:826 +#: ipaserver/plugins/internal.py:850 msgid "True" msgstr "" -#: ipalib/plugins/internal.py:828 +#: ipaserver/plugins/internal.py:852 msgid "First" msgstr "" -#: ipalib/plugins/internal.py:829 +#: ipaserver/plugins/internal.py:853 msgid "Last" msgstr "" -#: ipalib/plugins/internal.py:830 +#: ipaserver/plugins/internal.py:854 msgid "Next" msgstr "" -#: ipalib/plugins/internal.py:831 +#: ipaserver/plugins/internal.py:855 msgid "Page" msgstr "" -#: ipalib/plugins/internal.py:832 +#: ipaserver/plugins/internal.py:856 msgid "Prev" msgstr "" -#: ipalib/plugins/internal.py:833 +#: ipaserver/plugins/internal.py:857 msgid "Undo" msgstr "" -#: ipalib/plugins/internal.py:834 +#: ipaserver/plugins/internal.py:858 +msgid "Undo this change." +msgstr "" + +#: ipaserver/plugins/internal.py:859 msgid "Undo All" msgstr "" -#: ipalib/plugins/internal.py:836 +#: ipaserver/plugins/internal.py:860 +msgid "Undo all changes in this field." +msgstr "" + +#: ipaserver/plugins/internal.py:862 msgid "Text does not match field pattern" msgstr "" -#: ipalib/plugins/internal.py:837 +#: ipaserver/plugins/internal.py:863 msgid "Must be an UTC date/time value (e.g., \"2014-01-20 17:58:01Z\")" msgstr "" -#: ipalib/plugins/internal.py:838 +#: ipaserver/plugins/internal.py:864 msgid "Must be a decimal number" msgstr "" -#: ipalib/plugins/internal.py:839 +#: ipaserver/plugins/internal.py:865 msgid "Format error" msgstr "" -#: ipalib/plugins/internal.py:840 +#: ipaserver/plugins/internal.py:866 msgid "Must be an integer" msgstr "" -#: ipalib/plugins/internal.py:841 +#: ipaserver/plugins/internal.py:867 msgid "Not a valid IP address" msgstr "" -#: ipalib/plugins/internal.py:842 +#: ipaserver/plugins/internal.py:868 msgid "Not a valid IPv4 address" msgstr "" -#: ipalib/plugins/internal.py:843 +#: ipaserver/plugins/internal.py:869 msgid "Not a valid IPv6 address" msgstr "" -#: ipalib/plugins/internal.py:844 +#: ipaserver/plugins/internal.py:870 #, python-brace-format msgid "Maximum value is ${value}" msgstr "" -#: ipalib/plugins/internal.py:845 +#: ipaserver/plugins/internal.py:871 #, python-brace-format msgid "Minimum value is ${value}" msgstr "" -#: ipalib/plugins/internal.py:846 -msgid "Not a valid network address" +#: ipaserver/plugins/internal.py:872 +msgid "Not a valid network address (examples: 2001:db8::/64, 192.0.2.0/24)" msgstr "" -#: ipalib/plugins/internal.py:847 +#: ipaserver/plugins/internal.py:873 msgid "Parse error" msgstr "" -#: ipalib/plugins/internal.py:848 +#: ipaserver/plugins/internal.py:874 #, python-brace-format msgid "'${port}' is not a valid port" msgstr "" -#: ipalib/plugins/internal.py:849 +#: ipaserver/plugins/internal.py:875 msgid "Required field" msgstr "" -#: ipalib/plugins/internal.py:850 +#: ipaserver/plugins/internal.py:876 msgid "Unsupported value" msgstr "" -#: ipalib/plugins/internal.py:855 +#: ipaserver/plugins/internal.py:881 msgid "Dict of I18N messages" msgstr "" -#: ipalib/plugins/krbtpolicy.py:27 +#: ipaserver/plugins/join.py:58 +msgid "The hostname to register as" +msgstr "" + +#: ipaserver/plugins/join.py:67 +msgid "The IPA realm" +msgstr "" + +#: ipaserver/plugins/join.py:73 +msgid "Hardware platform of the host (e.g. Lenovo T61)" +msgstr "" + +#: ipaserver/plugins/join.py:77 +msgid "Operating System and version of the host (e.g. Fedora 9)" +msgstr "" + +#: ipaserver/plugins/join.py:117 +#, python-format +msgid "" +"Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry " +"'%s'." +msgstr "" + +#: ipaserver/plugins/krbtpolicy.py:27 msgid "" "\n" "Kerberos ticket policy\n" @@ -9491,52 +10911,186 @@ msgid "" " ipa krbtpolicy-mod admin --maxlife=3600\n" msgstr "" -#: ipalib/plugins/krbtpolicy.py:80 +#: ipaserver/plugins/krbtpolicy.py:80 msgid "kerberos ticket policy settings" msgstr "" -#: ipalib/plugins/krbtpolicy.py:125 +#: ipaserver/plugins/krbtpolicy.py:125 msgid "Manage ticket policy for specific user" msgstr "" -#: ipalib/plugins/krbtpolicy.py:130 +#: ipaserver/plugins/krbtpolicy.py:130 msgid "Max life" msgstr "" -#: ipalib/plugins/krbtpolicy.py:131 +#: ipaserver/plugins/krbtpolicy.py:131 msgid "Maximum ticket life (seconds)" msgstr "" -#: ipalib/plugins/krbtpolicy.py:136 +#: ipaserver/plugins/krbtpolicy.py:136 msgid "Max renew" msgstr "" -#: ipalib/plugins/krbtpolicy.py:137 +#: ipaserver/plugins/krbtpolicy.py:137 msgid "Maximum renewable age (seconds)" msgstr "" -#: ipalib/plugins/krbtpolicy.py:150 +#: ipaserver/plugins/krbtpolicy.py:150 msgid "Modify Kerberos ticket policy." msgstr "" -#: ipalib/plugins/krbtpolicy.py:163 +#: ipaserver/plugins/krbtpolicy.py:166 msgid "Display the current Kerberos ticket policy." msgstr "" -#: ipalib/plugins/krbtpolicy.py:186 +#: ipaserver/plugins/krbtpolicy.py:192 #, python-format msgid "Ticket policy for %s could not be read" msgstr "" -#: ipalib/plugins/krbtpolicy.py:199 +#: ipaserver/plugins/krbtpolicy.py:205 msgid "Default ticket policy could not be read" msgstr "" -#: ipalib/plugins/krbtpolicy.py:205 +#: ipaserver/plugins/krbtpolicy.py:211 msgid "Reset Kerberos ticket policy to the default values." msgstr "" -#: ipalib/plugins/migration.py:45 +#: ipaserver/plugins/ldap2.py:272 +msgid "Could not read UPG Definition originfilter. Check your permissions." +msgstr "" + +#: ipaserver/plugins/location.py:33 +msgid "" +"\n" +"IPA locations\n" +msgstr "" + +#: ipaserver/plugins/location.py:35 +msgid "" +"\n" +"Manipulate DNS locations\n" +msgstr "" + +#: ipaserver/plugins/location.py:39 +msgid "" +"\n" +" Find all locations:\n" +" ipa location-find\n" +msgstr "" + +#: ipaserver/plugins/location.py:42 +msgid "" +"\n" +" Show specific location:\n" +" ipa location-show location\n" +msgstr "" + +#: ipaserver/plugins/location.py:45 +msgid "" +"\n" +" Add location:\n" +" ipa location-add location --description 'My location'\n" +msgstr "" + +#: ipaserver/plugins/location.py:48 +msgid "" +"\n" +" Delete location:\n" +" ipa location-del location\n" +msgstr "" + +#: ipaserver/plugins/location.py:62 +msgid "location" +msgstr "" + +#: ipaserver/plugins/location.py:63 +msgid "locations" +msgstr "" + +#: ipaserver/plugins/location.py:69 +msgid "IPA Locations" +msgstr "" + +#: ipaserver/plugins/location.py:70 +msgid "IPA Location" +msgstr "" + +#: ipaserver/plugins/location.py:103 +msgid "Location name" +msgstr "" + +#: ipaserver/plugins/location.py:104 +msgid "IPA location name" +msgstr "" + +#: ipaserver/plugins/location.py:112 +msgid "IPA Location description" +msgstr "" + +#: ipaserver/plugins/location.py:116 +msgid "Servers" +msgstr "" + +#: ipaserver/plugins/location.py:117 +msgid "Servers that belongs to the IPA location" +msgstr "" + +#: ipaserver/plugins/location.py:122 +msgid "Advertised by servers" +msgstr "" + +#: ipaserver/plugins/location.py:123 +msgid "List of servers which advertise the given location" +msgstr "" + +#: ipaserver/plugins/location.py:138 +msgid "Add a new IPA location." +msgstr "" + +#: ipaserver/plugins/location.py:140 +#, python-format +msgid "Added IPA location \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/location.py:145 +msgid "Delete an IPA location." +msgstr "" + +#: ipaserver/plugins/location.py:147 +#, python-format +msgid "Deleted IPA location \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/location.py:170 +msgid "Modify information about an IPA location." +msgstr "" + +#: ipaserver/plugins/location.py:172 +#, python-format +msgid "Modified IPA location \"%(value)s\"" +msgstr "" + +#: ipaserver/plugins/location.py:177 +msgid "Search for IPA locations." +msgstr "" + +#: ipaserver/plugins/location.py:180 +#, python-format +msgid "%(count)d IPA location matched" +msgid_plural "%(count)d IPA locations matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/location.py:187 +msgid "Display information about an IPA location." +msgstr "" + +#: ipaserver/plugins/location.py:193 +msgid "Servers in location" +msgstr "" + +#: ipaserver/plugins/migration.py:45 msgid "" "\n" "Migration to IPA\n" @@ -9634,299 +11188,290 @@ msgid "" "updated.\n" msgstr "" -#: ipalib/plugins/migration.py:142 +#: ipaserver/plugins/migration.py:142 #, python-format msgid "" "Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually." msgstr "" -#: ipalib/plugins/migration.py:143 +#: ipaserver/plugins/migration.py:143 #, python-format msgid "" "Unable to determine if Kerberos principal %s already exists. Use 'ipa user-" "mod' to set it manually." msgstr "" -#: ipalib/plugins/migration.py:144 +#: ipaserver/plugins/migration.py:144 msgid "" "Failed to add user to the default group. Use 'ipa group-add-member' to add " "manually." msgstr "" -#: ipalib/plugins/migration.py:145 +#: ipaserver/plugins/migration.py:145 msgid "Migration of LDAP search reference is not supported." msgstr "" -#: ipalib/plugins/migration.py:146 +#: ipaserver/plugins/migration.py:146 msgid "Malformed DN" msgstr "" -#: ipalib/plugins/migration.py:166 +#: ipaserver/plugins/migration.py:166 #, python-format msgid "%(user)s is not a POSIX user" msgstr "" -#: ipalib/plugins/migration.py:432 +#: ipaserver/plugins/migration.py:432 msgid "" ". Check GID of the existing group. Use --group-overwrite-gid option to " "overwrite the GID" msgstr "" -#: ipalib/plugins/migration.py:447 +#: ipaserver/plugins/migration.py:447 msgid "Invalid LDAP URI." msgstr "" -#: ipalib/plugins/migration.py:453 +#: ipaserver/plugins/migration.py:453 msgid "Migrate users and groups from DS to IPA." msgstr "" -#: ipalib/plugins/migration.py:500 +#: ipaserver/plugins/migration.py:500 msgid "LDAP URI" msgstr "" -#: ipalib/plugins/migration.py:501 +#: ipaserver/plugins/migration.py:501 msgid "LDAP URI of DS server to migrate from" msgstr "" -#: ipalib/plugins/migration.py:507 +#: ipaserver/plugins/migration.py:507 msgid "bind password" msgstr "" -#: ipalib/plugins/migration.py:514 +#: ipaserver/plugins/migration.py:514 msgid "Bind DN" msgstr "" -#: ipalib/plugins/migration.py:520 +#: ipaserver/plugins/migration.py:520 msgid "User container" msgstr "" -#: ipalib/plugins/migration.py:521 +#: ipaserver/plugins/migration.py:521 msgid "DN of container for users in DS relative to base DN" msgstr "" -#: ipalib/plugins/migration.py:527 +#: ipaserver/plugins/migration.py:527 msgid "Group container" msgstr "" -#: ipalib/plugins/migration.py:528 +#: ipaserver/plugins/migration.py:528 msgid "DN of container for groups in DS relative to base DN" msgstr "" -#: ipalib/plugins/migration.py:534 +#: ipaserver/plugins/migration.py:534 msgid "User object class" msgstr "" -#: ipalib/plugins/migration.py:535 +#: ipaserver/plugins/migration.py:535 msgid "Objectclasses used to search for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:542 +#: ipaserver/plugins/migration.py:541 msgid "Group object class" msgstr "" -#: ipalib/plugins/migration.py:543 +#: ipaserver/plugins/migration.py:542 msgid "Objectclasses used to search for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:550 +#: ipaserver/plugins/migration.py:548 msgid "Ignore user object class" msgstr "" -#: ipalib/plugins/migration.py:551 +#: ipaserver/plugins/migration.py:549 msgid "Objectclasses to be ignored for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:558 +#: ipaserver/plugins/migration.py:555 msgid "Ignore user attribute" msgstr "" -#: ipalib/plugins/migration.py:559 +#: ipaserver/plugins/migration.py:556 msgid "Attributes to be ignored for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:566 +#: ipaserver/plugins/migration.py:562 msgid "Ignore group object class" msgstr "" -#: ipalib/plugins/migration.py:567 +#: ipaserver/plugins/migration.py:563 msgid "Objectclasses to be ignored for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:574 +#: ipaserver/plugins/migration.py:569 msgid "Ignore group attribute" msgstr "" -#: ipalib/plugins/migration.py:575 +#: ipaserver/plugins/migration.py:570 msgid "Attributes to be ignored for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:582 +#: ipaserver/plugins/migration.py:576 msgid "Overwrite GID" msgstr "" -#: ipalib/plugins/migration.py:583 +#: ipaserver/plugins/migration.py:577 msgid "" "When migrating a group already existing in IPA domain overwrite the group " "GID and report as success" msgstr "" -#: ipalib/plugins/migration.py:588 +#: ipaserver/plugins/migration.py:582 msgid "LDAP schema" msgstr "" -#: ipalib/plugins/migration.py:589 +#: ipaserver/plugins/migration.py:583 msgid "" "The schema used on the LDAP server. Supported values are RFC2307 and " "RFC2307bis. The default is RFC2307bis" msgstr "" -#: ipalib/plugins/migration.py:595 +#: ipaserver/plugins/migration.py:589 msgid "Continue" msgstr "" -#: ipalib/plugins/migration.py:596 +#: ipaserver/plugins/migration.py:590 msgid "" "Continuous operation mode. Errors are reported but the process continues" msgstr "" -#: ipalib/plugins/migration.py:601 +#: ipaserver/plugins/migration.py:595 msgid "Base DN" msgstr "" -#: ipalib/plugins/migration.py:602 +#: ipaserver/plugins/migration.py:596 msgid "Base DN on remote LDAP server" msgstr "" -#: ipalib/plugins/migration.py:606 +#: ipaserver/plugins/migration.py:600 msgid "Ignore compat plugin" msgstr "" -#: ipalib/plugins/migration.py:607 +#: ipaserver/plugins/migration.py:601 msgid "Allows migration despite the usage of compat plugin" msgstr "" -#: ipalib/plugins/migration.py:612 +#: ipaserver/plugins/migration.py:606 msgid "CA certificate" msgstr "" -#: ipalib/plugins/migration.py:613 +#: ipaserver/plugins/migration.py:607 msgid "Load CA certificate of LDAP server from FILE" msgstr "" -#: ipalib/plugins/migration.py:618 +#: ipaserver/plugins/migration.py:613 msgid "Add to default group" msgstr "" -#: ipalib/plugins/migration.py:619 +#: ipaserver/plugins/migration.py:614 msgid "Add migrated users without a group to a default group (default: true)" msgstr "" -#: ipalib/plugins/migration.py:626 +#: ipaserver/plugins/migration.py:621 msgid "Search scope" msgstr "" -#: ipalib/plugins/migration.py:627 +#: ipaserver/plugins/migration.py:622 msgid "" "LDAP search scope for users and groups: base, onelevel, or subtree. Defaults " "to onelevel" msgstr "" -#: ipalib/plugins/migration.py:638 +#: ipaserver/plugins/migration.py:633 msgid "Lists of objects migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:642 +#: ipaserver/plugins/migration.py:637 msgid "Lists of objects that could not be migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:646 +#: ipaserver/plugins/migration.py:641 msgid "False if migration mode was disabled." msgstr "" -#: ipalib/plugins/migration.py:650 +#: ipaserver/plugins/migration.py:645 msgid "False if migration fails because the compatibility plug-in is enabled." msgstr "" -#: ipalib/plugins/migration.py:654 +#: ipaserver/plugins/migration.py:649 #, python-format msgid "%s to exclude from migration" msgstr "" -#: ipalib/plugins/migration.py:656 +#: ipaserver/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/migration.py:661 -msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." -msgstr "" - -#: ipalib/plugins/migration.py:664 -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/migration.py:753 +#: ipaserver/plugins/migration.py:741 #, python-format msgid "" "%(container)s LDAP search did not return any result (search base: " "%(search_base)s, objectclass: %(objectclass)s)" msgstr "" -#: ipalib/plugins/migration.py:785 ipalib/plugins/user.py:487 +#: ipaserver/plugins/migration.py:773 ipaserver/plugins/user.py:504 msgid "Default group for new users not found" msgstr "" -#: ipalib/plugins/misc.py:26 +#: ipaserver/plugins/misc.py:26 msgid "" "\n" "Misc plug-ins\n" msgstr "" -#: ipalib/plugins/misc.py:40 +#: ipaserver/plugins/misc.py:40 msgid "Show environment variables." msgstr "" -#: ipalib/plugins/misc.py:42 +#: ipaserver/plugins/misc.py:42 #, python-format msgid "%(count)d variables" msgstr "" -#: ipalib/plugins/misc.py:51 ipalib/plugins/misc.py:119 +#: ipaserver/plugins/misc.py:51 ipaserver/plugins/misc.py:119 msgid "" "retrieve and print all attributes from the server. Affects command output." msgstr "" -#: ipalib/plugins/misc.py:65 +#: ipaserver/plugins/misc.py:61 +msgid "Dictionary mapping variable name to value" +msgstr "" + +#: ipaserver/plugins/misc.py:65 msgid "Total number of variables env (>= count)" msgstr "" -#: ipalib/plugins/misc.py:70 +#: ipaserver/plugins/misc.py:70 msgid "Number of variables returned (<= total)" msgstr "" -#: ipalib/plugins/misc.py:110 +#: ipaserver/plugins/misc.py:110 msgid "Show all loaded plugins." msgstr "" -#: ipalib/plugins/misc.py:113 +#: ipaserver/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 +#: ipaserver/plugins/misc.py:130 msgid "Number of plugins loaded" msgstr "" -#: ipalib/plugins/netgroup.py:33 +#: ipaserver/plugins/netgroup.py:46 msgid "" "\n" "Netgroups\n" @@ -9952,104 +11497,108 @@ msgid "" " ipa netgroup-del admins\n" msgstr "" -#: ipalib/plugins/netgroup.py:75 +#: ipaserver/plugins/netgroup.py:88 msgid "Member Host" msgstr "" -#: ipalib/plugins/netgroup.py:89 +#: ipaserver/plugins/netgroup.py:102 msgid "netgroup" msgstr "" -#: ipalib/plugins/netgroup.py:90 +#: ipaserver/plugins/netgroup.py:103 msgid "netgroups" msgstr "" -#: ipalib/plugins/netgroup.py:183 +#: ipaserver/plugins/netgroup.py:196 msgid "Netgroups" msgstr "" -#: ipalib/plugins/netgroup.py:184 +#: ipaserver/plugins/netgroup.py:197 msgid "Netgroup" msgstr "" -#: ipalib/plugins/netgroup.py:191 +#: ipaserver/plugins/netgroup.py:204 msgid "Netgroup name" msgstr "" -#: ipalib/plugins/netgroup.py:198 +#: ipaserver/plugins/netgroup.py:211 msgid "Netgroup description" msgstr "" -#: ipalib/plugins/netgroup.py:204 +#: ipaserver/plugins/netgroup.py:217 msgid "NIS domain name" msgstr "" -#: ipalib/plugins/netgroup.py:209 +#: ipaserver/plugins/netgroup.py:222 msgid "IPA unique ID" msgstr "" -#: ipalib/plugins/netgroup.py:230 +#: ipaserver/plugins/netgroup.py:243 msgid "Add a new netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:233 +#: ipaserver/plugins/netgroup.py:246 #, python-format msgid "Added netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/netgroup.py:235 +#: ipaserver/plugins/netgroup.py:248 #, python-format msgid "" "hostgroup with name \"%s\" already exists. Hostgroups and netgroups share a " "common namespace" msgstr "" -#: ipalib/plugins/netgroup.py:266 +#: ipaserver/plugins/netgroup.py:279 msgid "Delete a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:268 +#: ipaserver/plugins/netgroup.py:281 #, python-format msgid "Deleted netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/netgroup.py:274 +#: ipaserver/plugins/netgroup.py:287 msgid "Modify a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:277 +#: ipaserver/plugins/netgroup.py:290 #, python-format msgid "Modified netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/netgroup.py:295 +#: ipaserver/plugins/netgroup.py:308 msgid "Search for a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:300 +#: ipaserver/plugins/netgroup.py:313 #, python-format msgid "%(count)d netgroup matched" msgid_plural "%(count)d netgroups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/netgroup.py:310 +#: ipaserver/plugins/netgroup.py:323 msgid "search for managed groups" msgstr "" -#: ipalib/plugins/netgroup.py:332 +#: ipaserver/plugins/netgroup.py:345 msgid "Display information about a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:339 +#: ipaserver/plugins/netgroup.py:352 msgid "Add members to a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:361 +#: ipaserver/plugins/netgroup.py:374 msgid "Remove members from a netgroup." msgstr "" -#: ipalib/plugins/otpconfig.py:24 +#: ipaserver/plugins/otp.py:7 +msgid "One time password commands" +msgstr "" + +#: ipaserver/plugins/otpconfig.py:24 msgid "" "\n" "OTP configuration\n" @@ -10077,93 +11626,88 @@ msgid "" " ipa hotpconfig-mod --hotp-sync-window=50\n" msgstr "" -#: ipalib/plugins/otpconfig.py:52 ipalib/plugins/otptoken.py:68 -#: ipalib/plugins/otptoken_yubikey.py:51 -msgid "One time password commands" -msgstr "" - -#: ipalib/plugins/otpconfig.py:57 +#: ipaserver/plugins/otpconfig.py:57 msgid "OTP configuration options" msgstr "" -#: ipalib/plugins/otpconfig.py:80 ipalib/plugins/otpconfig.py:81 +#: ipaserver/plugins/otpconfig.py:80 ipaserver/plugins/otpconfig.py:81 msgid "OTP Configuration" msgstr "" -#: ipalib/plugins/otpconfig.py:86 +#: ipaserver/plugins/otpconfig.py:86 msgid "TOTP authentication Window" msgstr "" -#: ipalib/plugins/otpconfig.py:87 +#: ipaserver/plugins/otpconfig.py:87 msgid "TOTP authentication time variance (seconds)" msgstr "" -#: ipalib/plugins/otpconfig.py:92 +#: ipaserver/plugins/otpconfig.py:92 msgid "TOTP Synchronization Window" msgstr "" -#: ipalib/plugins/otpconfig.py:93 +#: ipaserver/plugins/otpconfig.py:93 msgid "TOTP synchronization time variance (seconds)" msgstr "" -#: ipalib/plugins/otpconfig.py:98 +#: ipaserver/plugins/otpconfig.py:98 msgid "HOTP Authentication Window" msgstr "" -#: ipalib/plugins/otpconfig.py:99 +#: ipaserver/plugins/otpconfig.py:99 msgid "HOTP authentication skip-ahead" msgstr "" -#: ipalib/plugins/otpconfig.py:104 +#: ipaserver/plugins/otpconfig.py:104 msgid "HOTP Synchronization Window" msgstr "" -#: ipalib/plugins/otpconfig.py:105 +#: ipaserver/plugins/otpconfig.py:105 msgid "HOTP synchronization skip-ahead" msgstr "" -#: ipalib/plugins/otpconfig.py:116 +#: ipaserver/plugins/otpconfig.py:116 msgid "Modify OTP configuration options." msgstr "" -#: ipalib/plugins/otpconfig.py:121 +#: ipaserver/plugins/otpconfig.py:121 msgid "Show the current OTP configuration." msgstr "" -#: ipalib/plugins/otptoken.py:43 +#: ipaserver/plugins/otptoken.py:42 msgid "" "\n" "OTP Tokens\n" msgstr "" -#: ipalib/plugins/otptoken.py:45 +#: ipaserver/plugins/otptoken.py:44 msgid "" "\n" "Manage OTP tokens.\n" msgstr "" -#: ipalib/plugins/otptoken.py:47 +#: ipaserver/plugins/otptoken.py:46 msgid "" "\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:52 +#: ipaserver/plugins/otptoken.py:51 msgid "" "\n" " Add a new token:\n" " ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" msgstr "" -#: ipalib/plugins/otptoken.py:55 +#: ipaserver/plugins/otptoken.py:54 msgid "" "\n" " Examine the token:\n" " ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" msgstr "" -#: ipalib/plugins/otptoken.py:58 +#: ipaserver/plugins/otptoken.py:57 msgid "" "\n" " Change the vendor:\n" @@ -10171,254 +11715,200 @@ msgid "" "\"\n" msgstr "" -#: ipalib/plugins/otptoken.py:61 +#: ipaserver/plugins/otptoken.py:60 msgid "" "\n" " Delete a token:\n" " ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" msgstr "" -#: ipalib/plugins/otptoken.py:136 +#: ipaserver/plugins/otptoken.py:135 msgid "OTP token" msgstr "" -#: ipalib/plugins/otptoken.py:137 +#: ipaserver/plugins/otptoken.py:136 msgid "OTP tokens" msgstr "" -#: ipalib/plugins/otptoken.py:153 +#: ipaserver/plugins/otptoken.py:152 msgid "OTP Tokens" msgstr "" -#: ipalib/plugins/otptoken.py:154 +#: ipaserver/plugins/otptoken.py:153 msgid "OTP Token" msgstr "" -#: ipalib/plugins/otptoken.py:159 ipalib/plugins/otptoken_yubikey.py:61 +#: ipaserver/plugins/otptoken.py:158 msgid "Unique ID" msgstr "" -#: ipalib/plugins/otptoken.py:165 +#: ipaserver/plugins/otptoken.py:164 msgid "Type of the token" msgstr "" -#: ipalib/plugins/otptoken.py:174 +#: ipaserver/plugins/otptoken.py:173 msgid "Token description (informational only)" msgstr "" -#: ipalib/plugins/otptoken.py:178 +#: ipaserver/plugins/otptoken.py:177 msgid "Owner" msgstr "" -#: ipalib/plugins/otptoken.py:179 +#: ipaserver/plugins/otptoken.py:178 msgid "Assigned user of the token (default: self)" msgstr "" -#: ipalib/plugins/otptoken.py:183 +#: ipaserver/plugins/otptoken.py:182 msgid "Assigned manager of the token (default: self)" msgstr "" -#: ipalib/plugins/otptoken.py:189 +#: ipaserver/plugins/otptoken.py:188 msgid "Mark the token as disabled (default: false)" msgstr "" -#: ipalib/plugins/otptoken.py:193 +#: ipaserver/plugins/otptoken.py:192 msgid "Validity start" msgstr "" -#: ipalib/plugins/otptoken.py:194 +#: ipaserver/plugins/otptoken.py:193 msgid "First date/time the token can be used" msgstr "" -#: ipalib/plugins/otptoken.py:198 +#: ipaserver/plugins/otptoken.py:197 msgid "Validity end" msgstr "" -#: ipalib/plugins/otptoken.py:199 +#: ipaserver/plugins/otptoken.py:198 msgid "Last date/time the token can be used" msgstr "" -#: ipalib/plugins/otptoken.py:203 +#: ipaserver/plugins/otptoken.py:202 msgid "Vendor" msgstr "" -#: ipalib/plugins/otptoken.py:204 +#: ipaserver/plugins/otptoken.py:203 msgid "Token vendor name (informational only)" msgstr "" -#: ipalib/plugins/otptoken.py:208 +#: ipaserver/plugins/otptoken.py:207 msgid "Model" msgstr "" -#: ipalib/plugins/otptoken.py:209 +#: ipaserver/plugins/otptoken.py:208 msgid "Token model (informational only)" msgstr "" -#: ipalib/plugins/otptoken.py:213 +#: ipaserver/plugins/otptoken.py:212 msgid "Serial" msgstr "" -#: ipalib/plugins/otptoken.py:214 +#: ipaserver/plugins/otptoken.py:213 msgid "Token serial (informational only)" msgstr "" -#: ipalib/plugins/otptoken.py:219 +#: ipaserver/plugins/otptoken.py:218 msgid "Token secret (Base32; default: random)" msgstr "" -#: ipalib/plugins/otptoken.py:227 +#: ipaserver/plugins/otptoken.py:226 msgid "Token hash algorithm" msgstr "" -#: ipalib/plugins/otptoken.py:235 +#: ipaserver/plugins/otptoken.py:234 msgid "Digits" msgstr "" -#: ipalib/plugins/otptoken.py:236 +#: ipaserver/plugins/otptoken.py:235 msgid "Number of digits each token code will have" msgstr "" -#: ipalib/plugins/otptoken.py:244 +#: ipaserver/plugins/otptoken.py:243 msgid "Clock offset" msgstr "" -#: ipalib/plugins/otptoken.py:245 +#: ipaserver/plugins/otptoken.py:244 msgid "TOTP token / FreeIPA server time difference" msgstr "" -#: ipalib/plugins/otptoken.py:252 +#: ipaserver/plugins/otptoken.py:251 msgid "Clock interval" msgstr "" -#: ipalib/plugins/otptoken.py:253 +#: ipaserver/plugins/otptoken.py:252 msgid "Length of TOTP token code validity" msgstr "" -#: ipalib/plugins/otptoken.py:261 +#: ipaserver/plugins/otptoken.py:260 msgid "Counter" msgstr "" -#: ipalib/plugins/otptoken.py:262 +#: ipaserver/plugins/otptoken.py:261 msgid "Initial counter for the HOTP token" msgstr "" -#: ipalib/plugins/otptoken.py:273 +#: ipaserver/plugins/otptoken.py:272 msgid "Add a new OTP token." msgstr "" -#: ipalib/plugins/otptoken.py:274 +#: ipaserver/plugins/otptoken.py:273 #, python-format msgid "Added OTP token \"%(value)s\"" msgstr "" -#: ipalib/plugins/otptoken.py:277 +#: ipaserver/plugins/otptoken.py:276 msgid "(deprecated)" msgstr "" -#: ipalib/plugins/otptoken.py:278 +#: ipaserver/plugins/otptoken.py:277 msgid "Do not display QR code" msgstr "" -#: ipalib/plugins/otptoken.py:282 +#: ipaserver/plugins/otptoken.py:281 msgid "URI" msgstr "" -#: ipalib/plugins/otptoken.py:371 +#: ipaserver/plugins/otptoken.py:359 msgid "Delete an OTP token." msgstr "" -#: ipalib/plugins/otptoken.py:372 +#: ipaserver/plugins/otptoken.py:360 #, python-format msgid "Deleted OTP token \"%(value)s\"" msgstr "" -#: ipalib/plugins/otptoken.py:377 +#: ipaserver/plugins/otptoken.py:365 msgid "Modify a OTP token." msgstr "" -#: ipalib/plugins/otptoken.py:378 +#: ipaserver/plugins/otptoken.py:366 #, python-format msgid "Modified OTP token \"%(value)s\"" msgstr "" -#: ipalib/plugins/otptoken.py:426 +#: ipaserver/plugins/otptoken.py:414 msgid "Search for OTP token." msgstr "" -#: ipalib/plugins/otptoken.py:427 +#: ipaserver/plugins/otptoken.py:415 #, python-format msgid "%(count)d OTP token matched" msgid_plural "%(count)d OTP tokens matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/otptoken.py:455 +#: ipaserver/plugins/otptoken.py:443 msgid "Display information about an OTP token." msgstr "" -#: ipalib/plugins/otptoken.py:468 +#: ipaserver/plugins/otptoken.py:456 msgid "Add users that can manage this token." msgstr "" -#: ipalib/plugins/otptoken.py:474 -msgid "Remove users that can manage this token." -msgstr "" - -#: ipalib/plugins/otptoken.py:501 -msgid "Synchronize an OTP token." -msgstr "" - -#: ipalib/plugins/otptoken.py:506 -msgid "User ID" -msgstr "" - -#: ipalib/plugins/otptoken.py:508 -msgid "First Code" -msgstr "" - -#: ipalib/plugins/otptoken.py:509 -msgid "Second Code" -msgstr "" - -#: ipalib/plugins/otptoken_yubikey.py:35 -msgid "" -"\n" -"YubiKey Tokens\n" -msgstr "" - -#: ipalib/plugins/otptoken_yubikey.py:37 -msgid "" -"\n" -"Manage YubiKey tokens.\n" -msgstr "" - -#: ipalib/plugins/otptoken_yubikey.py:39 -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/otptoken_yubikey.py:44 -msgid "" -"\n" -" Add a new token:\n" -" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" -msgstr "" - -#: ipalib/plugins/otptoken_yubikey.py:56 -msgid "Add a new YubiKey OTP token." -msgstr "" - -#: ipalib/plugins/otptoken_yubikey.py:69 -msgid "YubiKey slot" -msgstr "" - -#: ipalib/plugins/otptoken_yubikey.py:105 -msgid "No free YubiKey slot!" +#: ipaserver/plugins/otptoken.py:462 +msgid "Remove users that can manage this token." msgstr "" -#: ipalib/plugins/passwd.py:30 +#: ipaserver/plugins/passwd.py:30 msgid "" "\n" "Set a user's password\n" @@ -10439,31 +11929,26 @@ msgid "" " ipa passwd tuser1\n" msgstr "" -#: ipalib/plugins/passwd.py:69 +#: ipaserver/plugins/passwd.py:69 msgid "Set a user's password." msgstr "" -#: ipalib/plugins/passwd.py:95 +#: ipaserver/plugins/passwd.py:94 msgid "One Time Password" msgstr "" -#: ipalib/plugins/passwd.py:101 +#: ipaserver/plugins/passwd.py:100 #, python-format msgid "Changed password for \"%(value)s\"" msgstr "" -#: ipalib/plugins/passwd.py:127 ipalib/plugins/vault.py:861 -#: ipalib/plugins/vault.py:880 -msgid "Invalid credentials" -msgstr "" - -#: ipalib/plugins/permission.py:39 +#: ipaserver/plugins/permission.py:39 msgid "" "\n" "Permissions\n" msgstr "" -#: ipalib/plugins/permission.py:41 +#: ipaserver/plugins/permission.py:41 msgid "" "\n" "A permission enables fine-grained delegation of rights. A permission is\n" @@ -10473,13 +11958,13 @@ msgid "" "user, modifying a group, etc.\n" msgstr "" -#: ipalib/plugins/permission.py:47 +#: ipaserver/plugins/permission.py:47 msgid "" "\n" "A permission may not contain other permissions.\n" msgstr "" -#: ipalib/plugins/permission.py:49 +#: ipaserver/plugins/permission.py:49 msgid "" "\n" "* A permission grants access to read, write, add, delete, read, search,\n" @@ -10489,7 +11974,7 @@ msgid "" "* A role grants a set of privileges to users, groups, hosts or hostgroups.\n" msgstr "" -#: ipalib/plugins/permission.py:55 +#: ipaserver/plugins/permission.py:55 msgid "" "\n" "A permission is made up of a number of different parts:\n" @@ -10499,7 +11984,7 @@ msgid "" "3. The rights granted by the permission.\n" msgstr "" -#: ipalib/plugins/permission.py:61 +#: ipaserver/plugins/permission.py:61 msgid "" "\n" "Rights define what operations are allowed, and may be one or more\n" @@ -10513,7 +11998,7 @@ msgid "" "7. all - all permissions are granted\n" msgstr "" -#: ipalib/plugins/permission.py:71 +#: ipaserver/plugins/permission.py:71 msgid "" "\n" "Note the distinction between attributes and entries. The permissions are\n" @@ -10521,7 +12006,7 @@ msgid "" "be editable.\n" msgstr "" -#: ipalib/plugins/permission.py:75 +#: ipaserver/plugins/permission.py:75 msgid "" "\n" "There are a number of allowed targets:\n" @@ -10531,7 +12016,7 @@ msgid "" "to\n" msgstr "" -#: ipalib/plugins/permission.py:80 +#: ipaserver/plugins/permission.py:80 msgid "" "\n" "Additionally, there are the following convenience options.\n" @@ -10543,13 +12028,13 @@ msgid "" " the rights to manage group membership); sets target.\n" msgstr "" -#: ipalib/plugins/permission.py:87 +#: ipaserver/plugins/permission.py:87 msgid "" "\n" "Managed permissions\n" msgstr "" -#: ipalib/plugins/permission.py:89 +#: ipaserver/plugins/permission.py:89 msgid "" "\n" "Permissions that come with IPA by default can be so-called \"managed\"\n" @@ -10557,21 +12042,21 @@ msgid "" "but the administrator can add/remove individual attributes to/from the set.\n" msgstr "" -#: ipalib/plugins/permission.py:93 +#: ipaserver/plugins/permission.py:93 msgid "" "\n" "Deleting or renaming a managed permission, as well as changing its target,\n" "is not allowed.\n" msgstr "" -#: ipalib/plugins/permission.py:98 +#: ipaserver/plugins/permission.py:98 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/permission.py:101 +#: ipaserver/plugins/permission.py:101 msgid "" "\n" " Add a permission that grants the ability to manage group membership:\n" @@ -10579,299 +12064,299 @@ msgid "" "\"Manage Group Members\"\n" msgstr "" -#: ipalib/plugins/permission.py:132 +#: ipaserver/plugins/permission.py:132 msgid "must be enclosed in parentheses" msgstr "" -#: ipalib/plugins/permission.py:151 +#: ipaserver/plugins/permission.py:151 #, python-format msgid "\"%s\" is not an object type" msgstr "" -#: ipalib/plugins/permission.py:153 ipalib/plugins/permission.py:881 +#: ipaserver/plugins/permission.py:153 ipaserver/plugins/permission.py:889 #, python-format msgid "\"%s\" is not a valid permission type" msgstr "" -#: ipalib/plugins/permission.py:174 +#: ipaserver/plugins/permission.py:170 +msgid "Permission flags" +msgstr "" + +#: ipaserver/plugins/permission.py:181 msgid "permission" msgstr "" -#: ipalib/plugins/permission.py:175 +#: ipaserver/plugins/permission.py:182 msgid "permissions" msgstr "" -#: ipalib/plugins/permission.py:230 +#: ipaserver/plugins/permission.py:237 msgid "Permission name" msgstr "" -#: ipalib/plugins/permission.py:240 +#: ipaserver/plugins/permission.py:246 msgid "Granted rights" msgstr "" -#: ipalib/plugins/permission.py:241 +#: ipaserver/plugins/permission.py:247 msgid "Rights to grant (read, search, compare, write, add, delete, all)" msgstr "" -#: ipalib/plugins/permission.py:248 +#: ipaserver/plugins/permission.py:254 msgid "Effective attributes" msgstr "" -#: ipalib/plugins/permission.py:249 +#: ipaserver/plugins/permission.py:255 msgid "All attributes to which the permission applies" msgstr "" -#: ipalib/plugins/permission.py:254 +#: ipaserver/plugins/permission.py:260 msgid "Included attributes" msgstr "" -#: ipalib/plugins/permission.py:255 +#: ipaserver/plugins/permission.py:261 msgid "User-specified attributes to which the permission applies" msgstr "" -#: ipalib/plugins/permission.py:260 +#: ipaserver/plugins/permission.py:266 msgid "Excluded attributes" msgstr "" -#: ipalib/plugins/permission.py:261 +#: ipaserver/plugins/permission.py:267 msgid "" "User-specified attributes to which the permission explicitly does not apply" msgstr "" -#: ipalib/plugins/permission.py:267 +#: ipaserver/plugins/permission.py:273 msgid "Default attributes" msgstr "" -#: ipalib/plugins/permission.py:268 +#: ipaserver/plugins/permission.py:274 msgid "Attributes to which the permission applies by default" msgstr "" -#: ipalib/plugins/permission.py:274 ipalib/plugins/permission.py:275 +#: ipaserver/plugins/permission.py:280 ipaserver/plugins/permission.py:281 msgid "Bind rule type" msgstr "" -#: ipalib/plugins/permission.py:285 +#: ipaserver/plugins/permission.py:291 msgid "Subtree to apply permissions to" msgstr "" -#: ipalib/plugins/permission.py:291 ipalib/plugins/permission.py:292 +#: ipaserver/plugins/permission.py:297 ipaserver/plugins/permission.py:298 msgid "Extra target filter" msgstr "" -#: ipalib/plugins/permission.py:298 +#: ipaserver/plugins/permission.py:304 msgid "Raw target filter" msgstr "" -#: ipalib/plugins/permission.py:299 +#: ipaserver/plugins/permission.py:305 msgid "All target filters, including those implied by type and memberof" msgstr "" -#: ipalib/plugins/permission.py:306 +#: ipaserver/plugins/permission.py:312 msgid "Target DN" msgstr "" -#: ipalib/plugins/permission.py:307 +#: ipaserver/plugins/permission.py:313 msgid "" "Optional DN to apply the permission to (must be in the subtree, but may not " "yet exist)" msgstr "" -#: ipalib/plugins/permission.py:314 +#: ipaserver/plugins/permission.py:320 msgid "Target DN subtree" msgstr "" -#: ipalib/plugins/permission.py:315 +#: ipaserver/plugins/permission.py:321 msgid "" "Optional DN subtree where an entry can be moved to (must be in the subtree, " "but may not yet exist)" msgstr "" -#: ipalib/plugins/permission.py:322 +#: ipaserver/plugins/permission.py:328 msgid "Origin DN subtree" msgstr "" -#: ipalib/plugins/permission.py:323 +#: ipaserver/plugins/permission.py:329 msgid "" "Optional DN subtree from where an entry can be moved (must be in the " "subtree, but may not yet exist)" msgstr "" -#: ipalib/plugins/permission.py:328 +#: ipaserver/plugins/permission.py:334 msgid "Member of group" msgstr "" -#: ipalib/plugins/permission.py:329 +#: ipaserver/plugins/permission.py:335 msgid "Target members of a group (sets memberOf targetfilter)" msgstr "" -#: ipalib/plugins/permission.py:334 +#: ipaserver/plugins/permission.py:340 msgid "User group to apply permissions to (sets target)" msgstr "" -#: ipalib/plugins/permission.py:340 +#: ipaserver/plugins/permission.py:346 msgid "Type of IPA object (sets subtree and objectClass targetfilter)" msgstr "" -#: ipalib/plugins/permission.py:346 +#: ipaserver/plugins/permission.py:352 #, python-format msgid "Deprecated; use %s" msgstr "" -#: ipalib/plugins/permission.py:357 +#: ipaserver/plugins/permission.py:365 #, python-format msgid "Permission with unknown flag %s may not be modified or removed" msgstr "" -#: ipalib/plugins/permission.py:361 +#: ipaserver/plugins/permission.py:369 msgid "A SYSTEM permission may not be modified or removed" msgstr "" -#: ipalib/plugins/permission.py:609 +#: ipaserver/plugins/permission.py:617 #, python-format msgid "Entry %s not found" msgstr "" -#: ipalib/plugins/permission.py:700 +#: ipaserver/plugins/permission.py:708 #, python-format msgid "The ACI for permission %(name)s was not found in %(dn)s " msgstr "" -#: ipalib/plugins/permission.py:804 +#: ipaserver/plugins/permission.py:812 msgid "" "cannot specify full target filter and extra target filter simultaneously" msgstr "" -#: ipalib/plugins/permission.py:827 +#: ipaserver/plugins/permission.py:835 #, python-format msgid "option was renamed; use %s" msgstr "" -#: ipalib/plugins/permission.py:831 +#: ipaserver/plugins/permission.py:839 #, python-format msgid "Cannot use %(old_name)s with %(new_name)s" msgstr "" -#: ipalib/plugins/permission.py:845 ipalib/plugins/permission.py:860 +#: ipaserver/plugins/permission.py:853 ipaserver/plugins/permission.py:868 #, python-format msgid "%s: group not found" msgstr "" -#: ipalib/plugins/permission.py:855 +#: ipaserver/plugins/permission.py:863 msgid "target and targetgroup are mutually exclusive" msgstr "" -#: ipalib/plugins/permission.py:876 +#: ipaserver/plugins/permission.py:884 msgid "subtree and type are mutually exclusive" msgstr "" -#: ipalib/plugins/permission.py:912 +#: ipaserver/plugins/permission.py:920 msgid "Bad search filter" msgstr "" -#: ipalib/plugins/permission.py:922 +#: ipaserver/plugins/permission.py:930 #, python-format msgid "Entry %s does not exist" msgstr "" -#: ipalib/plugins/permission.py:931 +#: ipaserver/plugins/permission.py:939 msgid "" "there must be at least one target entry specifier (e.g. target, " "targetfilter, attrs)" msgstr "" -#: ipalib/plugins/permission.py:941 +#: ipaserver/plugins/permission.py:949 msgid "Add a system permission without an ACI (internal command)" msgstr "" -#: ipalib/plugins/permission.py:943 ipalib/plugins/permission.py:974 +#: ipaserver/plugins/permission.py:951 ipaserver/plugins/permission.py:980 #, python-format msgid "Added permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:949 -msgid "Permission flags" -msgstr "" - -#: ipalib/plugins/permission.py:972 +#: ipaserver/plugins/permission.py:978 msgid "Add a new permission." msgstr "" -#: ipalib/plugins/permission.py:1000 +#: ipaserver/plugins/permission.py:1006 msgid "attrs and included attributes are mutually exclusive" msgstr "" -#: ipalib/plugins/permission.py:1032 +#: ipaserver/plugins/permission.py:1038 #, python-format msgid "Cannot store permission ACI to %s" msgstr "" -#: ipalib/plugins/permission.py:1041 +#: ipaserver/plugins/permission.py:1047 msgid "Delete a permission." msgstr "" -#: ipalib/plugins/permission.py:1043 +#: ipaserver/plugins/permission.py:1049 #, python-format msgid "Deleted permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:1049 +#: ipaserver/plugins/permission.py:1055 msgid "force delete of SYSTEM permissions" msgstr "" -#: ipalib/plugins/permission.py:1063 +#: ipaserver/plugins/permission.py:1069 msgid "cannot delete managed permissions" msgstr "" -#: ipalib/plugins/permission.py:1069 +#: ipaserver/plugins/permission.py:1075 #, python-format msgid "ACI of permission %s was not found" msgstr "" -#: ipalib/plugins/permission.py:1076 +#: ipaserver/plugins/permission.py:1082 msgid "Modify a permission." msgstr "" -#: ipalib/plugins/permission.py:1078 +#: ipaserver/plugins/permission.py:1084 #, python-format msgid "Modified permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:1112 +#: ipaserver/plugins/permission.py:1118 msgid "cannot rename managed permissions" msgstr "" -#: ipalib/plugins/permission.py:1119 ipalib/plugins/permission.py:1123 +#: ipaserver/plugins/permission.py:1125 ipaserver/plugins/permission.py:1129 msgid "not modifiable on managed permissions" msgstr "" -#: ipalib/plugins/permission.py:1130 +#: ipaserver/plugins/permission.py:1136 msgid "only available on managed permissions" msgstr "" -#: ipalib/plugins/permission.py:1137 ipalib/plugins/permission.py:1257 +#: ipaserver/plugins/permission.py:1143 ipaserver/plugins/permission.py:1263 msgid "attrs and included/excluded attributes are mutually exclusive" msgstr "" -#: ipalib/plugins/permission.py:1148 +#: ipaserver/plugins/permission.py:1154 msgid "cannot set bindtype for a permission that is assigned to a privilege" msgstr "" -#: ipalib/plugins/permission.py:1242 +#: ipaserver/plugins/permission.py:1248 msgid "Search for permissions." msgstr "" -#: ipalib/plugins/permission.py:1245 +#: ipaserver/plugins/permission.py:1251 #, python-format msgid "%(count)d permission matched" msgid_plural "%(count)d permissions matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/permission.py:1371 +#: ipaserver/plugins/permission.py:1377 msgid "Display information about a permission." msgstr "" -#: ipalib/plugins/ping.py:26 +#: ipaserver/plugins/ping.py:26 msgid "" "\n" "Ping the remote IPA server to ensure it is running.\n" @@ -10901,11 +12386,11 @@ msgid "" " -----------------------------------------------------\n" msgstr "" -#: ipalib/plugins/ping.py:59 +#: ipaserver/plugins/ping.py:59 msgid "Ping a remote server." msgstr "" -#: ipalib/plugins/pkinit.py:27 +#: ipaserver/plugins/pkinit.py:27 msgid "" "\n" "Kerberos pkinit options\n" @@ -10927,24 +12412,24 @@ msgid "" "http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit\n" msgstr "" -#: ipalib/plugins/pkinit.py:54 +#: ipaserver/plugins/pkinit.py:54 msgid "pkinit" msgstr "" -#: ipalib/plugins/pkinit.py:56 +#: ipaserver/plugins/pkinit.py:56 msgid "PKINIT" msgstr "" -#: ipalib/plugins/pkinit.py:67 +#: ipaserver/plugins/pkinit.py:67 #, python-format msgid "Unknown command %s" msgstr "" -#: ipalib/plugins/pkinit.py:72 +#: ipaserver/plugins/pkinit.py:72 msgid "Enable or Disable Anonymous PKINIT." msgstr "" -#: ipalib/plugins/privilege.py:24 +#: ipaserver/plugins/privilege.py:37 msgid "" "\n" "Privileges\n" @@ -10967,100 +12452,100 @@ msgid "" "See role and permission for additional information.\n" msgstr "" -#: ipalib/plugins/privilege.py:63 +#: ipaserver/plugins/privilege.py:76 #, python-format msgid "" "cannot add permission \"%(perm)s\" with bindtype \"%(bindtype)s\" to a " "privilege" msgstr "" -#: ipalib/plugins/privilege.py:79 +#: ipaserver/plugins/privilege.py:92 msgid "privilege" msgstr "" -#: ipalib/plugins/privilege.py:80 +#: ipaserver/plugins/privilege.py:93 msgid "privileges" msgstr "" -#: ipalib/plugins/privilege.py:121 +#: ipaserver/plugins/privilege.py:134 msgid "Privileges" msgstr "" -#: ipalib/plugins/privilege.py:122 +#: ipaserver/plugins/privilege.py:135 msgid "Privilege" msgstr "" -#: ipalib/plugins/privilege.py:127 +#: ipaserver/plugins/privilege.py:140 msgid "Privilege name" msgstr "" -#: ipalib/plugins/privilege.py:133 +#: ipaserver/plugins/privilege.py:146 msgid "Privilege description" msgstr "" -#: ipalib/plugins/privilege.py:140 +#: ipaserver/plugins/privilege.py:153 msgid "Add a new privilege." msgstr "" -#: ipalib/plugins/privilege.py:142 +#: ipaserver/plugins/privilege.py:155 #, python-format msgid "Added privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:147 +#: ipaserver/plugins/privilege.py:160 msgid "Delete a privilege." msgstr "" -#: ipalib/plugins/privilege.py:149 +#: ipaserver/plugins/privilege.py:162 #, python-format msgid "Deleted privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:154 +#: ipaserver/plugins/privilege.py:167 msgid "Modify a privilege." msgstr "" -#: ipalib/plugins/privilege.py:156 +#: ipaserver/plugins/privilege.py:169 #, python-format msgid "Modified privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:161 +#: ipaserver/plugins/privilege.py:174 msgid "Search for privileges." msgstr "" -#: ipalib/plugins/privilege.py:164 +#: ipaserver/plugins/privilege.py:177 #, python-format msgid "%(count)d privilege matched" msgid_plural "%(count)d privileges matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/privilege.py:170 +#: ipaserver/plugins/privilege.py:183 msgid "Display information about a privilege." msgstr "" -#: ipalib/plugins/privilege.py:175 +#: ipaserver/plugins/privilege.py:188 msgid "Add members to a privilege." msgstr "" -#: ipalib/plugins/privilege.py:190 +#: ipaserver/plugins/privilege.py:203 msgid "Add permissions to a privilege." msgstr "" -#: ipalib/plugins/privilege.py:205 +#: ipaserver/plugins/privilege.py:218 msgid "Number of permissions added" msgstr "" -#: ipalib/plugins/privilege.py:219 +#: ipaserver/plugins/privilege.py:232 msgid "Remove permissions from a privilege." msgstr "" -#: ipalib/plugins/privilege.py:236 +#: ipaserver/plugins/privilege.py:249 msgid "Number of permissions removed" msgstr "" -#: ipalib/plugins/pwpolicy.py:36 +#: ipaserver/plugins/pwpolicy.py:43 msgid "" "\n" "Password policy\n" @@ -11106,148 +12591,148 @@ msgid "" " ipa pwpolicy-mod --minclasses=2 localadmins\n" msgstr "" -#: ipalib/plugins/pwpolicy.py:135 +#: ipaserver/plugins/pwpolicy.py:142 #, python-format msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" msgstr "" -#: ipalib/plugins/pwpolicy.py:224 +#: ipaserver/plugins/pwpolicy.py:231 msgid "password policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:225 +#: ipaserver/plugins/pwpolicy.py:232 msgid "password policies" msgstr "" -#: ipalib/plugins/pwpolicy.py:294 +#: ipaserver/plugins/pwpolicy.py:301 msgid "Max failures" msgstr "" -#: ipalib/plugins/pwpolicy.py:295 +#: ipaserver/plugins/pwpolicy.py:302 msgid "Consecutive failures before lockout" msgstr "" -#: ipalib/plugins/pwpolicy.py:300 +#: ipaserver/plugins/pwpolicy.py:307 msgid "Failure reset interval" msgstr "" -#: ipalib/plugins/pwpolicy.py:301 +#: ipaserver/plugins/pwpolicy.py:308 msgid "Period after which failure count will be reset (seconds)" msgstr "" -#: ipalib/plugins/pwpolicy.py:306 +#: ipaserver/plugins/pwpolicy.py:313 msgid "Lockout duration" msgstr "" -#: ipalib/plugins/pwpolicy.py:307 +#: ipaserver/plugins/pwpolicy.py:314 msgid "Period for which lockout is enforced (seconds)" msgstr "" -#: ipalib/plugins/pwpolicy.py:312 +#: ipaserver/plugins/pwpolicy.py:319 msgid "Password Policies" msgstr "" -#: ipalib/plugins/pwpolicy.py:318 +#: ipaserver/plugins/pwpolicy.py:325 msgid "Group" msgstr "" -#: ipalib/plugins/pwpolicy.py:319 +#: ipaserver/plugins/pwpolicy.py:326 msgid "Manage password policy for specific group" msgstr "" -#: ipalib/plugins/pwpolicy.py:324 +#: ipaserver/plugins/pwpolicy.py:331 msgid "Max lifetime (days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:325 +#: ipaserver/plugins/pwpolicy.py:332 msgid "Maximum password lifetime (in days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:331 +#: ipaserver/plugins/pwpolicy.py:338 msgid "Min lifetime (hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:332 +#: ipaserver/plugins/pwpolicy.py:339 msgid "Minimum password lifetime (in hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:337 +#: ipaserver/plugins/pwpolicy.py:344 msgid "History size" msgstr "" -#: ipalib/plugins/pwpolicy.py:338 +#: ipaserver/plugins/pwpolicy.py:345 msgid "Password history size" msgstr "" -#: ipalib/plugins/pwpolicy.py:343 +#: ipaserver/plugins/pwpolicy.py:350 msgid "Character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:344 +#: ipaserver/plugins/pwpolicy.py:351 msgid "Minimum number of character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:350 +#: ipaserver/plugins/pwpolicy.py:357 msgid "Min length" msgstr "" -#: ipalib/plugins/pwpolicy.py:351 +#: ipaserver/plugins/pwpolicy.py:358 msgid "Minimum length of password" msgstr "" -#: ipalib/plugins/pwpolicy.py:357 +#: ipaserver/plugins/pwpolicy.py:364 msgid "Priority of the policy (higher number means lower priority" msgstr "" -#: ipalib/plugins/pwpolicy.py:411 +#: ipaserver/plugins/pwpolicy.py:418 msgid "Maximum password life must be greater than minimum." msgstr "" -#: ipalib/plugins/pwpolicy.py:429 +#: ipaserver/plugins/pwpolicy.py:436 msgid "Add a new group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:455 +#: ipaserver/plugins/pwpolicy.py:462 msgid "Delete a group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:467 +#: ipaserver/plugins/pwpolicy.py:474 msgid "cannot delete global password policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:482 +#: ipaserver/plugins/pwpolicy.py:489 msgid "Modify a group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:493 +#: ipaserver/plugins/pwpolicy.py:503 msgid "priority cannot be set on global policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:525 +#: ipaserver/plugins/pwpolicy.py:535 msgid "Display information about password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:530 +#: ipaserver/plugins/pwpolicy.py:540 msgid "Display effective policy for a specific user" msgstr "" -#: ipalib/plugins/pwpolicy.py:554 +#: ipaserver/plugins/pwpolicy.py:567 msgid "Search for group password policies." msgstr "" -#: ipalib/plugins/radiusproxy.py:27 +#: ipaserver/plugins/radiusproxy.py:34 msgid "" "\n" "RADIUS Proxy Servers\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:29 +#: ipaserver/plugins/radiusproxy.py:36 msgid "" "\n" "Manage RADIUS Proxy Servers.\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:31 +#: ipaserver/plugins/radiusproxy.py:38 msgid "" "\n" "IPA supports the use of an external RADIUS proxy server for krb5 OTP\n" @@ -11255,152 +12740,152 @@ msgid "" "integrating with third-party authentication services.\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:37 +#: ipaserver/plugins/radiusproxy.py:44 msgid "" "\n" " Add a new server:\n" " ipa radiusproxy-add MyRADIUS --server=radius.example.com:1812\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:40 +#: ipaserver/plugins/radiusproxy.py:47 msgid "" "\n" " Find all servers whose entries include the string \"example.com\":\n" " ipa radiusproxy-find example.com\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:43 +#: ipaserver/plugins/radiusproxy.py:50 msgid "" "\n" " Examine the configuration:\n" " ipa radiusproxy-show MyRADIUS\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:46 +#: ipaserver/plugins/radiusproxy.py:53 msgid "" "\n" " Change the secret:\n" " ipa radiusproxy-mod MyRADIUS --secret\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:49 +#: ipaserver/plugins/radiusproxy.py:56 msgid "" "\n" " Delete a configuration:\n" " ipa radiusproxy-del MyRADIUS\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:60 +#: ipaserver/plugins/radiusproxy.py:67 msgid "invalid attribute name" msgstr "" -#: ipalib/plugins/radiusproxy.py:72 +#: ipaserver/plugins/radiusproxy.py:79 msgid "invalid port number" msgstr "" -#: ipalib/plugins/radiusproxy.py:90 +#: ipaserver/plugins/radiusproxy.py:97 msgid "RADIUS proxy server" msgstr "" -#: ipalib/plugins/radiusproxy.py:91 +#: ipaserver/plugins/radiusproxy.py:98 msgid "RADIUS proxy servers" msgstr "" -#: ipalib/plugins/radiusproxy.py:98 +#: ipaserver/plugins/radiusproxy.py:105 msgid "RADIUS Servers" msgstr "" -#: ipalib/plugins/radiusproxy.py:99 +#: ipaserver/plugins/radiusproxy.py:106 msgid "RADIUS Server" msgstr "" -#: ipalib/plugins/radiusproxy.py:104 +#: ipaserver/plugins/radiusproxy.py:111 msgid "RADIUS proxy server name" msgstr "" -#: ipalib/plugins/radiusproxy.py:110 +#: ipaserver/plugins/radiusproxy.py:117 msgid "A description of this RADIUS proxy server" msgstr "" -#: ipalib/plugins/radiusproxy.py:115 +#: ipaserver/plugins/radiusproxy.py:122 msgid "The hostname or IP (with or without port)" msgstr "" -#: ipalib/plugins/radiusproxy.py:119 +#: ipaserver/plugins/radiusproxy.py:126 msgid "Secret" msgstr "" -#: ipalib/plugins/radiusproxy.py:120 +#: ipaserver/plugins/radiusproxy.py:127 msgid "The secret used to encrypt data" msgstr "" -#: ipalib/plugins/radiusproxy.py:126 +#: ipaserver/plugins/radiusproxy.py:133 msgid "Timeout" msgstr "" -#: ipalib/plugins/radiusproxy.py:127 +#: ipaserver/plugins/radiusproxy.py:134 msgid "The total timeout across all retries (in seconds)" msgstr "" -#: ipalib/plugins/radiusproxy.py:132 +#: ipaserver/plugins/radiusproxy.py:139 msgid "Retries" msgstr "" -#: ipalib/plugins/radiusproxy.py:133 +#: ipaserver/plugins/radiusproxy.py:140 msgid "The number of times to retry authentication" msgstr "" -#: ipalib/plugins/radiusproxy.py:139 +#: ipaserver/plugins/radiusproxy.py:146 msgid "User attribute" msgstr "" -#: ipalib/plugins/radiusproxy.py:140 +#: ipaserver/plugins/radiusproxy.py:147 msgid "The username attribute on the user object" msgstr "" -#: ipalib/plugins/radiusproxy.py:146 +#: ipaserver/plugins/radiusproxy.py:153 msgid "Add a new RADIUS proxy server." msgstr "" -#: ipalib/plugins/radiusproxy.py:147 +#: ipaserver/plugins/radiusproxy.py:154 #, python-format msgid "Added RADIUS proxy server \"%(value)s\"" msgstr "" -#: ipalib/plugins/radiusproxy.py:151 +#: ipaserver/plugins/radiusproxy.py:158 msgid "Delete a RADIUS proxy server." msgstr "" -#: ipalib/plugins/radiusproxy.py:152 +#: ipaserver/plugins/radiusproxy.py:159 #, python-format msgid "Deleted RADIUS proxy server \"%(value)s\"" msgstr "" -#: ipalib/plugins/radiusproxy.py:156 +#: ipaserver/plugins/radiusproxy.py:163 msgid "Modify a RADIUS proxy server." msgstr "" -#: ipalib/plugins/radiusproxy.py:157 +#: ipaserver/plugins/radiusproxy.py:164 #, python-format msgid "Modified RADIUS proxy server \"%(value)s\"" msgstr "" -#: ipalib/plugins/radiusproxy.py:161 +#: ipaserver/plugins/radiusproxy.py:168 msgid "Search for RADIUS proxy servers." msgstr "" -#: ipalib/plugins/radiusproxy.py:163 +#: ipaserver/plugins/radiusproxy.py:170 #, 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 +#: ipaserver/plugins/radiusproxy.py:175 msgid "Display information about a RADIUS proxy server." msgstr "" -#: ipalib/plugins/realmdomains.py:35 +#: ipaserver/plugins/realmdomains.py:35 msgid "" "\n" "Realm domains\n" @@ -11423,66 +12908,66 @@ msgid "" " ipa realmdomains-mod --del-domain=olddomain.com\n" msgstr "" -#: ipalib/plugins/realmdomains.py:75 +#: ipaserver/plugins/realmdomains.py:75 msgid "Realm domains" msgstr "" -#: ipalib/plugins/realmdomains.py:111 +#: ipaserver/plugins/realmdomains.py:111 msgid "Add domain" msgstr "" -#: ipalib/plugins/realmdomains.py:117 +#: ipaserver/plugins/realmdomains.py:117 msgid "Delete domain" msgstr "" -#: ipalib/plugins/realmdomains.py:125 +#: ipaserver/plugins/realmdomains.py:125 msgid "Modify realm domains." msgstr "" -#: ipalib/plugins/realmdomains.py:130 +#: ipaserver/plugins/realmdomains.py:130 msgid "Force adding domain even if not in DNS" msgstr "" -#: ipalib/plugins/realmdomains.py:155 +#: ipaserver/plugins/realmdomains.py:155 #, python-format msgid "" "DNS zone for each realmdomain must contain SOA or NS records. No records " "found for: %s" msgstr "" -#: ipalib/plugins/realmdomains.py:181 +#: ipaserver/plugins/realmdomains.py:181 #, python-format msgid "The following domains do not belong to this realm: %(domains)s" msgstr "" -#: ipalib/plugins/realmdomains.py:196 +#: ipaserver/plugins/realmdomains.py:196 #, python-format msgid "" -"The realm of the folllowing domains could not be detected: %(domains)s. If " +"The realm of the following domains could not be detected: %(domains)s. If " "these are domains that belong to the this realm, please create a _kerberos " "TXT record containing \"%(realm)s\" in each of them." msgstr "" -#: ipalib/plugins/realmdomains.py:219 +#: ipaserver/plugins/realmdomains.py:219 msgid "" "The --domain option cannot be used together with --add-domain or --del-" "domain. Use --domain to specify the whole realm domain list explicitly, to " "add/remove individual domains, use --add-domain/del-domain." msgstr "" -#: ipalib/plugins/realmdomains.py:230 +#: ipaserver/plugins/realmdomains.py:230 msgid "IPA server domain cannot be omitted" msgstr "" -#: ipalib/plugins/realmdomains.py:252 +#: ipaserver/plugins/realmdomains.py:252 msgid "IPA server domain cannot be deleted" msgstr "" -#: ipalib/plugins/realmdomains.py:339 +#: ipaserver/plugins/realmdomains.py:339 msgid "Display the list of realm domains." msgstr "" -#: ipalib/plugins/role.py:27 +#: ipaserver/plugins/role.py:36 msgid "" "\n" "Roles\n" @@ -11521,4633 +13006,4638 @@ msgid "" " add users, reset passwords or add a user to the default IPA user group.\n" msgstr "" -#: ipalib/plugins/role.py:70 +#: ipaserver/plugins/role.py:79 ipaserver/plugins/serverrole.py:168 msgid "role" msgstr "" -#: ipalib/plugins/role.py:71 +#: ipaserver/plugins/role.py:80 ipaserver/plugins/serverrole.py:169 msgid "roles" msgstr "" -#: ipalib/plugins/role.py:131 +#: ipaserver/plugins/role.py:140 msgid "Role" msgstr "" -#: ipalib/plugins/role.py:136 +#: ipaserver/plugins/role.py:145 ipaserver/plugins/serverrole.py:59 +#: ipaserver/plugins/serverrole.py:174 msgid "Role name" msgstr "" -#: ipalib/plugins/role.py:142 +#: ipaserver/plugins/role.py:151 msgid "A description of this role-group" msgstr "" -#: ipalib/plugins/role.py:150 +#: ipaserver/plugins/role.py:159 msgid "Add a new role." msgstr "" -#: ipalib/plugins/role.py:152 +#: ipaserver/plugins/role.py:161 #, python-format msgid "Added role \"%(value)s\"" msgstr "" -#: ipalib/plugins/role.py:158 +#: ipaserver/plugins/role.py:167 msgid "Delete a role." msgstr "" -#: ipalib/plugins/role.py:160 +#: ipaserver/plugins/role.py:169 #, python-format msgid "Deleted role \"%(value)s\"" msgstr "" -#: ipalib/plugins/role.py:166 +#: ipaserver/plugins/role.py:175 msgid "Modify a role." msgstr "" -#: ipalib/plugins/role.py:168 +#: ipaserver/plugins/role.py:177 #, python-format msgid "Modified role \"%(value)s\"" msgstr "" -#: ipalib/plugins/role.py:174 +#: ipaserver/plugins/role.py:183 msgid "Search for roles." msgstr "" -#: ipalib/plugins/role.py:177 +#: ipaserver/plugins/role.py:186 #, python-format msgid "%(count)d role matched" msgid_plural "%(count)d roles matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/role.py:184 +#: ipaserver/plugins/role.py:193 msgid "Display information about a role." msgstr "" -#: ipalib/plugins/role.py:190 +#: ipaserver/plugins/role.py:199 msgid "Add members to a role." msgstr "" -#: ipalib/plugins/role.py:196 +#: ipaserver/plugins/role.py:205 msgid "Remove members from a role." msgstr "" -#: ipalib/plugins/role.py:202 +#: ipaserver/plugins/role.py:211 msgid "Add privileges to a role." msgstr "" -#: ipalib/plugins/role.py:217 +#: ipaserver/plugins/role.py:226 msgid "Number of privileges added" msgstr "" -#: ipalib/plugins/role.py:225 +#: ipaserver/plugins/role.py:234 msgid "Remove privileges from a role." msgstr "" -#: ipalib/plugins/role.py:240 +#: ipaserver/plugins/role.py:249 msgid "Number of privileges removed" msgstr "" -#: ipalib/plugins/selfservice.py:29 +#: ipaserver/plugins/schema.py:21 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/selfservice.py:75 -msgid "self service permission" -msgstr "" - -#: ipalib/plugins/selfservice.py:76 -msgid "self service permissions" -msgstr "" - -#: ipalib/plugins/selfservice.py:77 -msgid "Self Service Permissions" -msgstr "" - -#: ipalib/plugins/selfservice.py:78 -msgid "Self Service Permission" -msgstr "" - -#: ipalib/plugins/selfservice.py:83 ipalib/plugins/selfservice.py:84 -msgid "Self-service name" -msgstr "" - -#: ipalib/plugins/selfservice.py:98 -msgid "Attributes to which the permission applies." -msgstr "" - -#: ipalib/plugins/selfservice.py:127 -msgid "Add a new self-service permission." -msgstr "" - -#: ipalib/plugins/selfservice.py:129 -#, python-format -msgid "Added selfservice \"%(value)s\"" +"API Schema\n" msgstr "" -#: ipalib/plugins/selfservice.py:149 -msgid "Delete a self-service permission." -msgstr "" - -#: ipalib/plugins/selfservice.py:152 -#, python-format -msgid "Deleted selfservice \"%(value)s\"" -msgstr "" - -#: ipalib/plugins/selfservice.py:167 -msgid "Modify a self-service permission." -msgstr "" - -#: ipalib/plugins/selfservice.py:169 -#, python-format -msgid "Modified selfservice \"%(value)s\"" -msgstr "" - -#: ipalib/plugins/selfservice.py:189 -msgid "Search for a self-service permission." +#: ipaserver/plugins/schema.py:23 +msgid "" +"\n" +"Provides API introspection capabilities.\n" 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/selfservice.py:216 -msgid "Display information about a self-service permission." +#: ipaserver/plugins/schema.py:27 +msgid "" +"\n" +" Show user-find details:\n" +" ipa command-show user-find\n" msgstr "" -#: ipalib/plugins/selinuxusermap.py:27 +#: ipaserver/plugins/schema.py:30 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" +" Find user-find parameters:\n" +" ipa param-find user-find\n" msgstr "" -#: ipalib/plugins/selinuxusermap.py:74 -msgid "HBAC rule and local members cannot both be set" +#: ipaserver/plugins/schema.py:52 +msgid "Documentation" msgstr "" -#: ipalib/plugins/selinuxusermap.py:101 -msgid "Invalid SELinux user name, only a-Z and _ are allowed" +#: ipaserver/plugins/schema.py:57 +msgid "Exclude from" msgstr "" -#: ipalib/plugins/selinuxusermap.py:103 -msgid "Invalid MLS value, must match s[0-15](-s[0-15])" +#: ipaserver/plugins/schema.py:62 +msgid "Include in" 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]" +#: ipaserver/plugins/schema.py:129 +msgid "Help topic" msgstr "" -#: ipalib/plugins/selinuxusermap.py:121 -msgid "SELinux user map list not found in configuration" +#: ipaserver/plugins/schema.py:148 +msgid "Parameters" msgstr "" -#: ipalib/plugins/selinuxusermap.py:126 -#, python-format -msgid "SELinux user %(user)s not found in ordering list (in config)" +#: ipaserver/plugins/schema.py:181 +msgid "Method of" msgstr "" -#: ipalib/plugins/selinuxusermap.py:138 -msgid "SELinux User Map rule" +#: ipaserver/plugins/schema.py:186 +msgid "Method name" msgstr "" -#: ipalib/plugins/selinuxusermap.py:139 -msgid "SELinux User Map rules" +#: ipaserver/plugins/schema.py:244 +msgid "Display information about a command." msgstr "" -#: ipalib/plugins/selinuxusermap.py:195 -msgid "SELinux User Maps" +#: ipaserver/plugins/schema.py:249 +msgid "Search for commands." msgstr "" -#: ipalib/plugins/selinuxusermap.py:196 -msgid "SELinux User Map" +#: ipaserver/plugins/schema.py:310 +msgid "Display information about a class." msgstr "" -#: ipalib/plugins/selinuxusermap.py:206 -msgid "SELinux User" +#: ipaserver/plugins/schema.py:315 +msgid "Search for classes." msgstr "" -#: ipalib/plugins/selinuxusermap.py:211 -msgid "HBAC Rule that defines the users, groups and hostgroups" +#: ipaserver/plugins/schema.py:384 +msgid "Display information about a help topic." msgstr "" -#: ipalib/plugins/selinuxusermap.py:271 -#, python-format -msgid "HBAC rule %(rule)s not found" +#: ipaserver/plugins/schema.py:389 +msgid "Search for help topics." msgstr "" -#: ipalib/plugins/selinuxusermap.py:290 -msgid "Create a new SELinux User Map." +#: ipaserver/plugins/schema.py:401 +msgid "Required" msgstr "" -#: ipalib/plugins/selinuxusermap.py:292 -#, python-format -msgid "Added SELinux User Map \"%(value)s\"" +#: ipaserver/plugins/schema.py:406 +msgid "Multi-value" msgstr "" -#: ipalib/plugins/selinuxusermap.py:327 -msgid "Delete a SELinux User Map." +#: ipaserver/plugins/schema.py:448 +msgid "Always ask" msgstr "" -#: ipalib/plugins/selinuxusermap.py:329 -#, python-format -msgid "Deleted SELinux User Map \"%(value)s\"" +#: ipaserver/plugins/schema.py:453 +msgid "CLI metavar" msgstr "" -#: ipalib/plugins/selinuxusermap.py:335 -msgid "Modify a SELinux User Map." +#: ipaserver/plugins/schema.py:458 +msgid "CLI name" msgstr "" -#: ipalib/plugins/selinuxusermap.py:337 -#, python-format -msgid "Modified SELinux User Map \"%(value)s\"" +#: ipaserver/plugins/schema.py:463 +msgid "Confirm (password)" msgstr "" -#: ipalib/plugins/selinuxusermap.py:391 -msgid "Search for SELinux User Maps." +#: ipaserver/plugins/schema.py:468 +msgid "Default" 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/selinuxusermap.py:423 -msgid "Display the properties of a SELinux User Map rule." +#: ipaserver/plugins/schema.py:473 +msgid "Default from" msgstr "" -#: ipalib/plugins/selinuxusermap.py:434 -msgid "Enable an SELinux User Map rule." +#: ipaserver/plugins/schema.py:478 +msgid "Label" msgstr "" -#: ipalib/plugins/selinuxusermap.py:436 -#, python-format -msgid "Enabled SELinux User Map \"%(value)s\"" +#: ipaserver/plugins/schema.py:483 +msgid "Convert on server" msgstr "" -#: ipalib/plugins/selinuxusermap.py:464 -msgid "Disable an SELinux User Map rule." +#: ipaserver/plugins/schema.py:488 +msgid "Option group" msgstr "" -#: ipalib/plugins/selinuxusermap.py:466 -#, python-format -msgid "Disabled SELinux User Map \"%(value)s\"" +#: ipaserver/plugins/schema.py:493 +msgid "Sensitive" msgstr "" -#: ipalib/plugins/selinuxusermap.py:494 -msgid "Add users and groups to an SELinux User Map rule." +#: ipaserver/plugins/schema.py:498 +msgid "Positional argument" msgstr "" -#: ipalib/plugins/selinuxusermap.py:518 -msgid "Remove users and groups from an SELinux User Map rule." +#: ipaserver/plugins/schema.py:604 +msgid "Display information about a command parameter." msgstr "" -#: ipalib/plugins/selinuxusermap.py:527 -msgid "Add target hosts and hostgroups to an SELinux User Map rule." +#: ipaserver/plugins/schema.py:609 +msgid "Search command parameters." msgstr "" -#: ipalib/plugins/selinuxusermap.py:551 -msgid "Remove target hosts and hostgroups from an SELinux User Map rule." +#: ipaserver/plugins/schema.py:681 +msgid "Display information about a command output." msgstr "" -#: ipalib/plugins/server.py:15 -msgid "" -"\n" -"IPA servers\n" +#: ipaserver/plugins/schema.py:686 +msgid "Search for command outputs." msgstr "" -#: ipalib/plugins/server.py:17 +#: ipaserver/plugins/selfservice.py:28 msgid "" "\n" -"Get information about installed IPA servers.\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/server.py:21 -msgid "" -"\n" -" Find all servers:\n" -" ipa server-find\n" +#: ipaserver/plugins/selfservice.py:74 +msgid "self service permission" msgstr "" -#: ipalib/plugins/server.py:24 -msgid "" -"\n" -" Show specific server:\n" -" ipa server-show ipa.example.com\n" +#: ipaserver/plugins/selfservice.py:75 +msgid "self service permissions" msgstr "" -#: ipalib/plugins/server.py:38 -msgid "server" +#: ipaserver/plugins/selfservice.py:76 +msgid "Self Service Permissions" msgstr "" -#: ipalib/plugins/server.py:39 -msgid "servers" +#: ipaserver/plugins/selfservice.py:77 +msgid "Self Service Permission" msgstr "" -#: ipalib/plugins/server.py:46 -msgid "IPA Servers" +#: ipaserver/plugins/selfservice.py:82 ipaserver/plugins/selfservice.py:83 +msgid "Self-service name" msgstr "" -#: ipalib/plugins/server.py:59 -msgid "Server name" +#: ipaserver/plugins/selfservice.py:96 +msgid "Attributes to which the permission applies." msgstr "" -#: ipalib/plugins/server.py:60 -msgid "IPA server hostname" +#: ipaserver/plugins/selfservice.py:124 +msgid "Add a new self-service permission." msgstr "" -#: ipalib/plugins/server.py:68 -msgid "Managed suffixes" +#: ipaserver/plugins/selfservice.py:126 +#, python-format +msgid "Added selfservice \"%(value)s\"" msgstr "" -#: ipalib/plugins/server.py:74 -msgid "Min domain level" +#: ipaserver/plugins/selfservice.py:146 +msgid "Delete a self-service permission." msgstr "" -#: ipalib/plugins/server.py:75 -msgid "Minimum domain level" +#: ipaserver/plugins/selfservice.py:149 +#, python-format +msgid "Deleted selfservice \"%(value)s\"" msgstr "" -#: ipalib/plugins/server.py:81 -msgid "Max domain level" +#: ipaserver/plugins/selfservice.py:164 +msgid "Modify a self-service permission." msgstr "" -#: ipalib/plugins/server.py:82 -msgid "Maximum domain level" +#: ipaserver/plugins/selfservice.py:166 +#, python-format +msgid "Modified selfservice \"%(value)s\"" msgstr "" -#: ipalib/plugins/server.py:106 -msgid "Search for IPA servers." +#: ipaserver/plugins/selfservice.py:186 +msgid "Search for a self-service permission." msgstr "" -#: ipalib/plugins/server.py:109 +#: ipaserver/plugins/selfservice.py:189 #, python-format -msgid "%(count)d IPA server matched" -msgid_plural "%(count)d IPA servers matched" +msgid "%(count)d selfservice matched" +msgid_plural "%(count)d selfservices matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/server.py:176 -msgid "Show IPA server." -msgstr "" - -#: ipalib/plugins/server.py:188 -msgid "Delete IPA server." -msgstr "" - -#: ipalib/plugins/server.py:190 -#, python-format -msgid "Deleted IPA server \"%(value)s\"" +#: ipaserver/plugins/selfservice.py:213 +msgid "Display information about a self-service permission." msgstr "" -#: ipalib/plugins/service.py:41 +#: ipaserver/plugins/selinuxusermap.py:41 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" +"SELinux User Mapping\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" +"Map IPA users to SELinux users by host.\n" "\n" -"Only the public aspect of a certificate is stored in a service record;\n" -"the private key is not stored.\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" -" 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" +" 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" -" 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" +" 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" -" Delete an IPA service:\n" -" ipa service-del HTTP/web.example.com\n" +" Display the properties of a rule:\n" +" ipa selinuxusermap-show test2\n" "\n" -" Find all IPA services associated with a host:\n" -" ipa service-find web.example.com\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" -" Find all HTTP services:\n" -" ipa service-find HTTP\n" +" Disable a rule:\n" +" ipa selinuxusermap-disable test1\n" "\n" -" Disable the service Kerberos key and SSL certificate:\n" -" ipa service-disable HTTP/web.example.com\n" +" Enable a rule:\n" +" ipa selinuxusermap-enable test1\n" "\n" -" Request a certificate for an IPA service:\n" -" ipa cert-request --principal=HTTP/web.example.com example.csr\n" -msgstr "" - -#: ipalib/plugins/service.py:94 -msgid "" +" Find a rule referencing a specific HBAC rule:\n" +" ipa selinuxusermap-find --hbacrule=allow_some\n" "\n" -" Allow user to create a keytab:\n" -" ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1\n" -msgstr "" - -#: ipalib/plugins/service.py:97 -msgid "" +" Remove a rule:\n" +" ipa selinuxusermap-del john_unconfined\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" +"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/service.py:174 -msgid "Requires pre-authentication" -msgstr "" - -#: ipalib/plugins/service.py:175 -msgid "Pre-authentication is required for the service" -msgstr "" - -#: ipalib/plugins/service.py:180 -msgid "Trusted for delegation" -msgstr "" - -#: ipalib/plugins/service.py:181 -msgid "Client credentials may be delegated to the service" -msgstr "" - -#: ipalib/plugins/service.py:201 -msgid "unable to determine service" +#: ipaserver/plugins/selinuxusermap.py:88 +msgid "HBAC rule and local members cannot both be set" msgstr "" -#: ipalib/plugins/service.py:205 -msgid "blank service" +#: ipaserver/plugins/selinuxusermap.py:115 +msgid "Invalid SELinux user name, only a-Z and _ are allowed" msgstr "" -#: ipalib/plugins/service.py:213 -msgid "unable to determine realm" +#: ipaserver/plugins/selinuxusermap.py:117 +msgid "Invalid MLS value, must match s[0-15](-s[0-15])" msgstr "" -#: ipalib/plugins/service.py:230 -msgid "missing service" +#: ipaserver/plugins/selinuxusermap.py:120 +msgid "" +"Invalid MCS value, must match c[0-1023].c[0-1023] and/or c[0-1023]-c[0-c0123]" msgstr "" -#: ipalib/plugins/service.py:318 -msgid "This principal is required by the IPA master" +#: ipaserver/plugins/selinuxusermap.py:135 +msgid "SELinux user map list not found in configuration" msgstr "" -#: ipalib/plugins/service.py:391 -msgid "service" +#: ipaserver/plugins/selinuxusermap.py:140 +#, python-format +msgid "SELinux user %(user)s not found in ordering list (in config)" msgstr "" -#: ipalib/plugins/service.py:392 -msgid "services" +#: ipaserver/plugins/selinuxusermap.py:152 +msgid "SELinux User Map rule" msgstr "" -#: ipalib/plugins/service.py:477 -msgid "Service principal" +#: ipaserver/plugins/selinuxusermap.py:153 +msgid "SELinux User Map rules" msgstr "" -#: ipalib/plugins/service.py:489 -msgid "PAC type" +#: ipaserver/plugins/selinuxusermap.py:209 +msgid "SELinux User Maps" msgstr "" -#: ipalib/plugins/service.py:490 -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." +#: ipaserver/plugins/selinuxusermap.py:210 +msgid "SELinux User Map" msgstr "" -#: ipalib/plugins/service.py:511 -msgid "NONE value cannot be combined with other PAC types" +#: ipaserver/plugins/selinuxusermap.py:220 +msgid "SELinux User" msgstr "" -#: ipalib/plugins/service.py:520 -msgid "Add a new IPA new service." +#: ipaserver/plugins/selinuxusermap.py:225 +msgid "HBAC Rule that defines the users, groups and hostgroups" msgstr "" -#: ipalib/plugins/service.py:522 +#: ipaserver/plugins/selinuxusermap.py:285 #, python-format -msgid "Added service \"%(value)s\"" +msgid "HBAC rule %(rule)s not found" msgstr "" -#: ipalib/plugins/service.py:528 -msgid "force principal name even if not in DNS" +#: ipaserver/plugins/selinuxusermap.py:304 +msgid "Create a new SELinux User Map." msgstr "" -#: ipalib/plugins/service.py:542 +#: ipaserver/plugins/selinuxusermap.py:306 #, python-format -msgid "The host '%s' does not exist to add a service to." +msgid "Added SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:583 -msgid "Delete an IPA service." +#: ipaserver/plugins/selinuxusermap.py:341 +msgid "Delete a SELinux User Map." msgstr "" -#: ipalib/plugins/service.py:585 +#: ipaserver/plugins/selinuxusermap.py:343 #, python-format -msgid "Deleted service \"%(value)s\"" +msgid "Deleted SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:607 -msgid "Modify an existing IPA service." +#: ipaserver/plugins/selinuxusermap.py:349 +msgid "Modify a SELinux User Map." msgstr "" -#: ipalib/plugins/service.py:609 +#: ipaserver/plugins/selinuxusermap.py:351 #, python-format -msgid "Modified service \"%(value)s\"" +msgid "Modified SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:656 -msgid "Search for IPA services." +#: ipaserver/plugins/selinuxusermap.py:405 +msgid "Search for SELinux User Maps." msgstr "" -#: ipalib/plugins/service.py:659 +#: ipaserver/plugins/selinuxusermap.py:408 #, python-format -msgid "%(count)d service matched" -msgid_plural "%(count)d services matched" +msgid "%(count)d SELinux User Map matched" +msgid_plural "%(count)d SELinux User Maps matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/service.py:694 -msgid "Display information about an IPA service." -msgstr "" - -#: ipalib/plugins/service.py:736 -msgid "Add hosts that can manage this service." +#: ipaserver/plugins/selinuxusermap.py:437 +msgid "Display the properties of a SELinux User Map rule." msgstr "" -#: ipalib/plugins/service.py:745 -msgid "Remove hosts that can manage this service." +#: ipaserver/plugins/selinuxusermap.py:448 +msgid "Enable an SELinux User Map rule." msgstr "" -#: ipalib/plugins/service.py:753 -msgid "" -"Allow users, groups, hosts or host groups to retrieve a keytab of this " -"service." +#: ipaserver/plugins/selinuxusermap.py:450 +#, python-format +msgid "Enabled SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:772 -msgid "" -"Disallow users, groups, hosts or host groups to retrieve a keytab of this " -"service." +#: ipaserver/plugins/selinuxusermap.py:478 +msgid "Disable an SELinux User Map rule." msgstr "" -#: ipalib/plugins/service.py:790 -msgid "" -"Allow users, groups, hosts or host groups to create a keytab of this service." +#: ipaserver/plugins/selinuxusermap.py:480 +#, python-format +msgid "Disabled SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:809 -msgid "" -"Disallow users, groups, hosts or host groups to create a keytab of this " -"service." +#: ipaserver/plugins/selinuxusermap.py:508 +msgid "Add users and groups to an SELinux User Map rule." msgstr "" -#: ipalib/plugins/service.py:827 -msgid "Disable the Kerberos key and SSL certificate of a service." +#: ipaserver/plugins/selinuxusermap.py:532 +msgid "Remove users and groups from an SELinux User Map rule." msgstr "" -#: ipalib/plugins/service.py:830 -#, python-format -msgid "Disabled service \"%(value)s\"" +#: ipaserver/plugins/selinuxusermap.py:541 +msgid "Add target hosts and hostgroups to an SELinux User Map rule." msgstr "" -#: ipalib/plugins/service.py:871 -msgid "Add new certificates to a service" +#: ipaserver/plugins/selinuxusermap.py:565 +msgid "Remove target hosts and hostgroups from an SELinux User Map rule." msgstr "" -#: ipalib/plugins/service.py:872 -#, python-format -msgid "Added certificates to service principal \"%(value)s\"" +#: ipaserver/plugins/server.py:30 +msgid "" +"\n" +"IPA servers\n" msgstr "" -#: ipalib/plugins/service.py:878 -msgid "Remove certificates from a service" +#: ipaserver/plugins/server.py:32 +msgid "" +"\n" +"Get information about installed IPA servers.\n" msgstr "" -#: ipalib/plugins/service.py:879 -#, python-format -msgid "Removed certificates from service principal \"%(value)s\"" +#: ipaserver/plugins/server.py:36 +msgid "" +"\n" +" Find all servers:\n" +" ipa server-find\n" msgstr "" -#: ipalib/plugins/servicedelegation.py:17 +#: ipaserver/plugins/server.py:39 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 ability\n" -"to delegate, causing the framework to stop functioning.\n" +" Show specific server:\n" +" ipa server-show ipa.example.com\n" +msgstr "" + +#: ipaserver/plugins/server.py:53 +msgid "server" +msgstr "" + +#: ipaserver/plugins/server.py:54 +msgid "servers" msgstr "" -#: ipalib/plugins/servicedelegation.py:93 -msgid "Allowed Target" +#: ipaserver/plugins/server.py:62 +msgid "IPA Servers" msgstr "" -#: ipalib/plugins/servicedelegation.py:97 -msgid "Allowed to Impersonate" +#: ipaserver/plugins/server.py:96 ipaserver/plugins/serverrole.py:54 +msgid "IPA server hostname" msgstr "" -#: ipalib/plugins/servicedelegation.py:101 -msgid "Member principals" +#: ipaserver/plugins/server.py:104 +msgid "Managed suffixes" msgstr "" -#: ipalib/plugins/servicedelegation.py:109 -msgid "Failed targets" +#: ipaserver/plugins/server.py:110 +msgid "Min domain level" msgstr "" -#: ipalib/plugins/servicedelegation.py:173 -msgid "Add target to a named service delegation." +#: ipaserver/plugins/server.py:111 +msgid "Minimum domain level" msgstr "" -#: ipalib/plugins/servicedelegation.py:254 -msgid "Remove member from a named service delegation." +#: ipaserver/plugins/server.py:117 +msgid "Max domain level" msgstr "" -#: ipalib/plugins/servicedelegation.py:347 -#: ipalib/plugins/servicedelegation.py:380 -msgid "service delegation rule" +#: ipaserver/plugins/server.py:118 +msgid "Maximum domain level" msgstr "" -#: ipalib/plugins/servicedelegation.py:348 -msgid "service delegation rules" +#: ipaserver/plugins/server.py:125 +msgid "Server location" msgstr "" -#: ipalib/plugins/servicedelegation.py:359 -msgid "Service delegation rules" +#: ipaserver/plugins/server.py:132 +msgid "Service weight" msgstr "" -#: ipalib/plugins/servicedelegation.py:360 -msgid "Service delegation rule" +#: ipaserver/plugins/server.py:133 +msgid "Weight for server services" msgstr "" -#: ipalib/plugins/servicedelegation.py:365 -msgid "Create a new service delegation rule." +#: ipaserver/plugins/server.py:140 +msgid "Service relative weight" msgstr "" -#: ipalib/plugins/servicedelegation.py:367 -#, python-format -msgid "Added service delegation rule \"%(value)s\"" +#: ipaserver/plugins/server.py:141 +msgid "Relative weight for server services (counts per location)" msgstr "" -#: ipalib/plugins/servicedelegation.py:372 -msgid "Delete service delegation." +#: ipaserver/plugins/server.py:146 +msgid "Enabled server roles" msgstr "" -#: ipalib/plugins/servicedelegation.py:374 -#, python-format -msgid "Deleted service delegation \"%(value)s\"" +#: ipaserver/plugins/server.py:147 +msgid "List of enabled roles" msgstr "" -#: ipalib/plugins/servicedelegation.py:382 -msgid "privileged service delegation rule" +#: ipaserver/plugins/server.py:211 +msgid "Modify information about an IPA server." msgstr "" -#: ipalib/plugins/servicedelegation.py:389 -msgid "Search for service delegations rule." +#: ipaserver/plugins/server.py:213 +#, python-format +msgid "Modified IPA server \"%(value)s\"" msgstr "" -#: ipalib/plugins/servicedelegation.py:394 +#: ipaserver/plugins/server.py:292 +msgid "Search for IPA servers." +msgstr "" + +#: ipaserver/plugins/server.py:295 #, python-format -msgid "%(count)d service delegation rule matched" -msgid_plural "%(count)d service delegation rules matched" +msgid "%(count)d IPA server matched" +msgid_plural "%(count)d IPA servers matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/servicedelegation.py:401 -msgid "Display information about a named service delegation rule." +#: ipaserver/plugins/server.py:415 +msgid "Show IPA server." msgstr "" -#: ipalib/plugins/servicedelegation.py:408 -msgid "Add member to a named service delegation rule." +#: ipaserver/plugins/server.py:430 +msgid "Delete IPA server." msgstr "" -#: ipalib/plugins/servicedelegation.py:417 -msgid "Remove member from a named service delegation rule." +#: ipaserver/plugins/server.py:431 +#, python-format +msgid "Deleted IPA server \"%(value)s\"" msgstr "" -#: ipalib/plugins/servicedelegation.py:425 -msgid "Add target to a named service delegation rule." +#: ipaserver/plugins/server.py:436 +msgid "Ignore topology errors" msgstr "" -#: ipalib/plugins/servicedelegation.py:436 -msgid "Remove target from a named service delegation rule." +#: ipaserver/plugins/server.py:437 +msgid "Ignore topology connectivity problems after removal" msgstr "" -#: ipalib/plugins/servicedelegation.py:446 -#: ipalib/plugins/servicedelegation.py:475 -msgid "service delegation target" +#: ipaserver/plugins/server.py:442 +msgid "Ignore check for last remaining CA or DNS server" msgstr "" -#: ipalib/plugins/servicedelegation.py:447 -msgid "service delegation targets" +#: ipaserver/plugins/server.py:443 +msgid "Skip a check whether the last CA master or DNS server is removed" msgstr "" -#: ipalib/plugins/servicedelegation.py:454 -msgid "Service delegation targets" +#: ipaserver/plugins/server.py:449 +msgid "Force server removal" msgstr "" -#: ipalib/plugins/servicedelegation.py:455 -msgid "Service delegation target" +#: ipaserver/plugins/server.py:450 +msgid "Force server removal even if it does not exist" msgstr "" -#: ipalib/plugins/servicedelegation.py:460 -msgid "Create a new service delegation target." +#: ipaserver/plugins/server.py:487 +msgid "" +"Deleting this server is not allowed as it would leave your installation " +"without a CA." msgstr "" -#: ipalib/plugins/servicedelegation.py:462 -#, python-format -msgid "Added service delegation target \"%(value)s\"" +#: ipaserver/plugins/server.py:492 +msgid "" +"Replica is active DNSSEC key master. Uninstall could break your DNS system. " +"Please disable or replace DNSSEC key master first." msgstr "" -#: ipalib/plugins/servicedelegation.py:467 -msgid "Delete service delegation target." +#: ipaserver/plugins/server.py:498 +msgid "Deleting this server will leave your installation without a DNS." +msgstr "" + +#: ipaserver/plugins/server.py:504 +msgid "Ignoring these warnings and proceeding with removal" msgstr "" -#: ipalib/plugins/servicedelegation.py:469 +#: ipaserver/plugins/server.py:564 #, python-format -msgid "Deleted service delegation target \"%(value)s\"" +msgid "" +"Failed to clean memberPrincipal %(principal)s from s4u2proxy entry %(dn)s: " +"%(err)s" msgstr "" -#: ipalib/plugins/servicedelegation.py:477 -msgid "privileged service delegation target" +#: ipaserver/plugins/server.py:584 +#, python-format +msgid "Failed to clean up DNA hostname entries for %(master)s: %(err)s" msgstr "" -#: ipalib/plugins/servicedelegation.py:484 -msgid "Search for service delegation target." +#: ipaserver/plugins/server.py:603 +#, python-format +msgid "Failed to remove server %(master)s from server list: %(err)s" msgstr "" -#: ipalib/plugins/servicedelegation.py:489 +#: ipaserver/plugins/server.py:625 #, python-format -msgid "%(count)d service delegation target matched" -msgid_plural "%(count)d service delegation targets matched" -msgstr[0] "" -msgstr[1] "" +msgid "Failed to cleanup server principals/keys: %(err)s" +msgstr "" -#: ipalib/plugins/servicedelegation.py:523 -msgid "Display information about a named service delegation target." +#: ipaserver/plugins/server.py:641 +#, python-format +msgid "Failed to cleanup %(hostname)s DNS entries: %(err)s" msgstr "" -#: ipalib/plugins/servicedelegation.py:530 -msgid "Add member to a named service delegation target." +#: ipaserver/plugins/server.py:646 +msgid "You may need to manually remove them from the tree" msgstr "" -#: ipalib/plugins/servicedelegation.py:539 -msgid "Remove member from a named service delegation target." +#: ipaserver/plugins/server.py:655 +#, python-format +msgid "Forcing removal of %(hostname)s" msgstr "" -#: ipalib/plugins/stageuser.py:53 -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 entries 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" +#: ipaserver/plugins/server.py:665 +msgid "Ignoring topology connectivity errors." msgstr "" -#: ipalib/plugins/stageuser.py:115 -msgid "Stage Users" +#: ipaserver/plugins/server.py:693 +msgid "Server has already been deleted" msgstr "" -#: ipalib/plugins/stageuser.py:116 -msgid "Stage User" +#: ipaserver/plugins/server.py:743 +msgid "Agreements deleted" msgstr "" -#: ipalib/plugins/stageuser.py:117 -msgid "stage user" +#: ipaserver/plugins/server.py:754 +msgid "Following segments were not deleted:" msgstr "" -#: ipalib/plugins/stageuser.py:118 -msgid "stage users" +#: ipaserver/plugins/server.py:808 +msgid "Check connection to remote IPA server." msgstr "" -#: ipalib/plugins/stageuser.py:263 -msgid "Add a new stage user." +#: ipaserver/plugins/server.py:816 +msgid "Remote server name" +msgstr "" + +#: ipaserver/plugins/server.py:817 +msgid "Remote IPA server hostname" msgstr "" -#: ipalib/plugins/stageuser.py:265 +#: ipaserver/plugins/server.py:827 #, python-format -msgid "Added stage user \"%(value)s\"" +msgid "must be \"%s\"" msgstr "" -#: ipalib/plugins/stageuser.py:271 -msgid "Create Stage user in from a delete user" +#: ipaserver/plugins/server.py:847 +msgid "not allowed to perform server connection check" msgstr "" -#: ipalib/plugins/stageuser.py:282 -msgid "givenname is required" +#: ipaserver/plugins/serverrole.py:13 +msgid "" +"\n" +"IPA server roles\n" msgstr "" -#: ipalib/plugins/stageuser.py:285 -msgid "sn is required" +#: ipaserver/plugins/serverrole.py:15 +msgid "" +"\n" +"Get status of roles (DNS server, CA, etc.) provided by IPA masters.\n" msgstr "" -#: ipalib/plugins/stageuser.py:397 -msgid "Delete a stage user." +#: ipaserver/plugins/serverrole.py:19 +msgid "" +"\n" +" Show status of 'DNS server' role on a server:\n" +" ipa server-role-show ipa.example.com \"DNS server\"\n" msgstr "" -#: ipalib/plugins/stageuser.py:399 -#, python-format -msgid "Deleted stage user \"%(value)s\"" +#: ipaserver/plugins/serverrole.py:22 +msgid "" +"\n" +" Show status of all roles containing 'AD' on a server:\n" +" ipa server-role-find --server ipa.example.com --role='AD'\n" msgstr "" -#: ipalib/plugins/stageuser.py:403 -msgid "Modify a stage user." +#: ipaserver/plugins/serverrole.py:25 +msgid "" +"\n" +" Show status of all configured roles on a server:\n" +" ipa server-role-find ipa.example.com\n" msgstr "" -#: ipalib/plugins/stageuser.py:405 -#, python-format -msgid "Modified stage user \"%(value)s\"" +#: ipaserver/plugins/serverrole.py:41 +msgid "server role" msgstr "" -#: ipalib/plugins/stageuser.py:424 -msgid "Search for stage users." +#: ipaserver/plugins/serverrole.py:42 +msgid "server roles" msgstr "" -#: ipalib/plugins/stageuser.py:447 ipalib/plugins/user.py:755 -#, python-format -msgid "%(count)d user matched" -msgid_plural "%(count)d users matched" -msgstr[0] "" -msgstr[1] "" +#: ipaserver/plugins/serverrole.py:46 +msgid "IPA Server Roles" +msgstr "" -#: ipalib/plugins/stageuser.py:452 -msgid "Display information about a stage user." +#: ipaserver/plugins/serverrole.py:47 +msgid "IPA Server Role" msgstr "" -#: ipalib/plugins/stageuser.py:464 -msgid "Activate a stage user." +#: ipaserver/plugins/serverrole.py:60 +msgid "IPA server role name" msgstr "" -#: ipalib/plugins/stageuser.py:466 -#, python-format -msgid "Activate a stage user \"%(value)s\"" +#: ipaserver/plugins/serverrole.py:66 +msgid "Role status" msgstr "" -#: ipalib/plugins/stageuser.py:479 -msgid "Entry RDN is not 'uid'" +#: ipaserver/plugins/serverrole.py:67 +msgid "Status of the role" msgstr "" -#: ipalib/plugins/stageuser.py:485 -#, python-format -msgid "Entry has no '%(attribute)s'" +#: ipaserver/plugins/serverrole.py:84 +msgid "Show role status on a server" msgstr "" -#: ipalib/plugins/stageuser.py:656 -#, python-format -msgid "active user with name \"%(user)s\" already exists" +#: ipaserver/plugins/serverrole.py:108 +msgid "Find a server role on a server(s)" msgstr "" -#: ipalib/plugins/stageuser.py:717 +#: ipaserver/plugins/serverrole.py:113 #, python-format -msgid "Stage user %s activated" +msgid "%(count)s server role matched" +msgid_plural "%(count)s server roles matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/serverrole.py:175 +msgid "IPA role name" msgstr "" -#: ipalib/plugins/stageuser.py:723 -msgid "Add a manager to the stage user entry" +#: ipaserver/plugins/serverroles.py:81 +#, python-brace-format +msgid "{role}: role not found" msgstr "" -#: ipalib/plugins/stageuser.py:728 -msgid "Remove a manager to the stage user entry" +#: ipaserver/plugins/serverroles.py:149 +#, python-brace-format +msgid "{attr}: no such attribute" msgstr "" -#: ipalib/plugins/sudocmd.py:30 +#: ipaserver/plugins/service.py:54 msgid "" "\n" -"Sudo Commands\n" +"Services\n" "\n" -"Commands used as building blocks for sudo\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" -" Create a new command\n" -" ipa sudocmd-add --desc='For reading log files' /usr/bin/less\n" +" Add a new IPA service:\n" +" ipa service-add HTTP/web.example.com\n" "\n" -" Remove a command\n" -" ipa sudocmd-del /usr/bin/less\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" +"\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/sudocmd.py:47 ipalib/plugins/sudocmdgroup.py:51 -msgid "commands for controlling sudo configuration" +#: ipaserver/plugins/service.py:107 +msgid "" +"\n" +" Allow user to create a keytab:\n" +" ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1\n" msgstr "" -#: ipalib/plugins/sudocmd.py:55 -msgid "sudo command" +#: ipaserver/plugins/service.py:110 +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/sudocmd.py:56 -msgid "sudo commands" +#: ipaserver/plugins/service.py:187 +msgid "Requires pre-authentication" msgstr "" -#: ipalib/plugins/sudocmd.py:108 -msgid "Sudo Commands" +#: ipaserver/plugins/service.py:188 +msgid "Pre-authentication is required for the service" msgstr "" -#: ipalib/plugins/sudocmd.py:109 ipalib/plugins/sudocmd.py:114 -msgid "Sudo Command" +#: ipaserver/plugins/service.py:193 +msgid "Trusted for delegation" msgstr "" -#: ipalib/plugins/sudocmd.py:120 -msgid "A description of this command" +#: ipaserver/plugins/service.py:194 +msgid "Client credentials may be delegated to the service" msgstr "" -#: ipalib/plugins/sudocmd.py:143 -msgid "Create new Sudo Command." +#: ipaserver/plugins/service.py:214 +msgid "unable to determine service" msgstr "" -#: ipalib/plugins/sudocmd.py:145 -#, python-format -msgid "Added Sudo Command \"%(value)s\"" +#: ipaserver/plugins/service.py:218 +msgid "blank service" msgstr "" -#: ipalib/plugins/sudocmd.py:150 -msgid "Delete Sudo Command." +#: ipaserver/plugins/service.py:226 +msgid "unable to determine realm" msgstr "" -#: ipalib/plugins/sudocmd.py:152 -#, python-format -msgid "Deleted Sudo Command \"%(value)s\"" +#: ipaserver/plugins/service.py:243 +msgid "missing service" msgstr "" -#: ipalib/plugins/sudocmd.py:183 -msgid "Modify Sudo Command." +#: ipaserver/plugins/service.py:331 +msgid "This principal is required by the IPA master" msgstr "" -#: ipalib/plugins/sudocmd.py:185 -#, python-format -msgid "Modified Sudo Command \"%(value)s\"" +#: ipaserver/plugins/service.py:404 +msgid "service" msgstr "" -#: ipalib/plugins/sudocmd.py:190 -msgid "Search for Sudo Commands." +#: ipaserver/plugins/service.py:405 +msgid "services" +msgstr "" + +#: ipaserver/plugins/service.py:490 +msgid "Service principal" +msgstr "" + +#: ipaserver/plugins/service.py:497 +msgid "Base-64 encoded service certificate" +msgstr "" + +#: ipaserver/plugins/service.py:502 +msgid "PAC type" +msgstr "" + +#: ipaserver/plugins/service.py:503 +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/sudocmd.py:193 -#, python-format -msgid "%(count)d Sudo Command matched" -msgid_plural "%(count)d Sudo Commands matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/sudocmd.py:199 -msgid "Display Sudo Command." +#: ipaserver/plugins/service.py:510 +msgid "Authentication Indicators" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:26 +#: ipaserver/plugins/service.py:511 msgid "" -"\n" -"Groups of Sudo Commands\n" -"\n" -"Manage groups of Sudo Commands.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add a new Sudo Command Group:\n" -" ipa sudocmdgroup-add --desc='administrators commands' admincmds\n" -"\n" -" Remove a Sudo Command Group:\n" -" ipa sudocmdgroup-del admincmds\n" -"\n" -" Manage Sudo Command Group membership, commands:\n" -" ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less --sudocmds=/usr/bin/" -"vim admincmds\n" -"\n" -" Manage Sudo Command Group membership, commands:\n" -" ipa group-remove-member --sudocmds=/usr/bin/less admincmds\n" -"\n" -" Show a Sudo Command Group:\n" -" ipa group-show localadmins\n" +"Defines a whitelist for Authentication Indicators. Use 'otp' to allow OTP-" +"based 2FA authentications. Use 'radius' to allow RADIUS-based 2FA " +"authentications. Other values may be used for custom configurations." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:59 -msgid "sudo command group" +#: ipaserver/plugins/service.py:531 +msgid "NONE value cannot be combined with other PAC types" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:60 -msgid "sudo command groups" +#: ipaserver/plugins/service.py:540 +msgid "Add a new IPA service." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:111 ipalib/plugins/sudocmdgroup.py:116 -msgid "Sudo Command Group" +#: ipaserver/plugins/service.py:542 +#, python-format +msgid "Added service \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:139 -msgid "Create new Sudo Command Group." +#: ipaserver/plugins/service.py:548 +msgid "force principal name even if not in DNS" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:141 +#: ipaserver/plugins/service.py:562 #, python-format -msgid "Added Sudo Command Group \"%(value)s\"" +msgid "The host '%s' does not exist to add a service to." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:147 -msgid "Delete Sudo Command Group." +#: ipaserver/plugins/service.py:601 +msgid "Delete an IPA service." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:149 +#: ipaserver/plugins/service.py:603 #, python-format -msgid "Deleted Sudo Command Group \"%(value)s\"" +msgid "Deleted service \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:155 -msgid "Modify Sudo Command Group." +#: ipaserver/plugins/service.py:625 +msgid "Modify an existing IPA service." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:157 +#: ipaserver/plugins/service.py:627 #, python-format -msgid "Modified Sudo Command Group \"%(value)s\"" +msgid "Modified service \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudocmdgroup.py:163 -msgid "Search for Sudo Command Groups." +#: ipaserver/plugins/service.py:672 +msgid "Search for IPA services." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:166 +#: ipaserver/plugins/service.py:675 #, python-format -msgid "%(count)d Sudo Command Group matched" -msgid_plural "%(count)d Sudo Command Groups matched" +msgid "%(count)d service matched" +msgid_plural "%(count)d services matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/sudocmdgroup.py:174 -msgid "Display Sudo Command Group." +#: ipaserver/plugins/service.py:710 +msgid "Display information about an IPA service." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:180 -msgid "Add members to Sudo Command Group." +#: ipaserver/plugins/service.py:733 +msgid "Add hosts that can manage this service." msgstr "" -#: ipalib/plugins/sudocmdgroup.py:186 -msgid "Remove members from Sudo Command Group." +#: ipaserver/plugins/service.py:742 +msgid "Remove hosts that can manage this service." msgstr "" -#: ipalib/plugins/sudorule.py:42 +#: ipaserver/plugins/service.py:750 msgid "" -"\n" -"Sudo Rules\n" +"Allow users, groups, hosts or host groups to retrieve a keytab of this " +"service." msgstr "" -#: ipalib/plugins/sudorule.py:44 +#: ipaserver/plugins/service.py:769 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" +"Disallow users, groups, hosts or host groups to retrieve a keytab of this " +"service." msgstr "" -#: ipalib/plugins/sudorule.py:49 +#: ipaserver/plugins/service.py:787 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" +"Allow users, groups, hosts or host groups to create a keytab of this service." msgstr "" -#: ipalib/plugins/sudorule.py:58 +#: ipaserver/plugins/service.py:806 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" +"Disallow users, groups, hosts or host groups to create a keytab of this " +"service." msgstr "" -#: ipalib/plugins/sudorule.py:62 -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" +#: ipaserver/plugins/service.py:824 +msgid "Disable the Kerberos key and SSL certificate of a service." msgstr "" -#: ipalib/plugins/sudorule.py:65 -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" +#: ipaserver/plugins/service.py:827 +#, python-format +msgid "Disabled service \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:72 -msgid "" -"\n" -" Create a new rule:\n" -" ipa sudorule-add readfiles\n" +#: ipaserver/plugins/service.py:868 +msgid "Add new certificates to a service" msgstr "" -#: ipalib/plugins/sudorule.py:75 -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" +#: ipaserver/plugins/service.py:869 +#, python-format +msgid "Added certificates to service principal \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:79 -msgid "" -"\n" -" Add a host to the rule:\n" -" ipa sudorule-add-host readfiles --hosts server.example.com\n" +#: ipaserver/plugins/service.py:875 +msgid "Remove certificates from a service" msgstr "" -#: ipalib/plugins/sudorule.py:82 -msgid "" -"\n" -" Add a user to the rule:\n" -" ipa sudorule-add-user readfiles --users jsmith\n" +#: ipaserver/plugins/service.py:876 +#, python-format +msgid "Removed certificates from service principal \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:85 +#: ipaserver/plugins/servicedelegation.py:26 msgid "" "\n" -" Add a special Sudo rule for default Sudo server configuration:\n" -" ipa sudorule-add defaults\n" -msgstr "" - -#: ipalib/plugins/sudorule.py:88 -msgid "" +"Service Constrained Delegation\n" "\n" -" Set a default Sudo option:\n" -" ipa sudorule-add-option defaults --sudooption '!authenticate'\n" -msgstr "" - -#: ipalib/plugins/sudorule.py:95 -msgid "Commands for controlling sudo configuration" -msgstr "" - -#: ipalib/plugins/sudorule.py:101 -msgid "this option has been deprecated." -msgstr "" - -#: ipalib/plugins/sudorule.py:105 -msgid "host masks of allowed hosts" -msgstr "" - -#: ipalib/plugins/sudorule.py:128 -msgid "sudo rule" +"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 ability\n" +"to delegate, causing the framework to stop functioning.\n" msgstr "" -#: ipalib/plugins/sudorule.py:129 -msgid "sudo rules" +#: ipaserver/plugins/servicedelegation.py:102 +msgid "Allowed Target" msgstr "" -#: ipalib/plugins/sudorule.py:216 -msgid "Sudo Rules" +#: ipaserver/plugins/servicedelegation.py:106 +msgid "Allowed to Impersonate" msgstr "" -#: ipalib/plugins/sudorule.py:217 -msgid "Sudo Rule" +#: ipaserver/plugins/servicedelegation.py:110 +msgid "Member principals" msgstr "" -#: ipalib/plugins/sudorule.py:247 -msgid "Command category" +#: ipaserver/plugins/servicedelegation.py:182 +msgid "Add target to a named service delegation." msgstr "" -#: ipalib/plugins/sudorule.py:248 -msgid "Command category the rule applies to" +#: ipaserver/plugins/servicedelegation.py:263 +msgid "Remove member from a named service delegation." msgstr "" -#: ipalib/plugins/sudorule.py:253 -msgid "RunAs User category" +#: ipaserver/plugins/servicedelegation.py:356 +#: ipaserver/plugins/servicedelegation.py:389 +msgid "service delegation rule" msgstr "" -#: ipalib/plugins/sudorule.py:254 -msgid "RunAs User category the rule applies to" +#: ipaserver/plugins/servicedelegation.py:357 +msgid "service delegation rules" msgstr "" -#: ipalib/plugins/sudorule.py:259 -msgid "RunAs Group category" +#: ipaserver/plugins/servicedelegation.py:368 +msgid "Service delegation rules" msgstr "" -#: ipalib/plugins/sudorule.py:260 -msgid "RunAs Group category the rule applies to" +#: ipaserver/plugins/servicedelegation.py:369 +msgid "Service delegation rule" msgstr "" -#: ipalib/plugins/sudorule.py:265 -msgid "Sudo order" +#: ipaserver/plugins/servicedelegation.py:374 +msgid "Create a new service delegation rule." msgstr "" -#: ipalib/plugins/sudorule.py:266 -msgid "integer to order the Sudo rules" +#: ipaserver/plugins/servicedelegation.py:376 +#, python-format +msgid "Added service delegation rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:280 -msgid "External User" +#: ipaserver/plugins/servicedelegation.py:381 +msgid "Delete service delegation." msgstr "" -#: ipalib/plugins/sudorule.py:281 -msgid "External User the rule applies to (sudorule-find only)" +#: ipaserver/plugins/servicedelegation.py:383 +#, python-format +msgid "Deleted service delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:293 -msgid "Host Masks" +#: ipaserver/plugins/servicedelegation.py:391 +msgid "privileged service delegation rule" msgstr "" -#: ipalib/plugins/sudorule.py:299 -msgid "Sudo Allow Commands" +#: ipaserver/plugins/servicedelegation.py:398 +msgid "Search for service delegations rule." msgstr "" -#: ipalib/plugins/sudorule.py:303 -msgid "Sudo Deny Commands" -msgstr "" +#: ipaserver/plugins/servicedelegation.py:403 +#, python-format +msgid "%(count)d service delegation rule matched" +msgid_plural "%(count)d service delegation rules matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/sudorule.py:307 -msgid "Sudo Allow Command Groups" +#: ipaserver/plugins/servicedelegation.py:410 +msgid "Display information about a named service delegation rule." msgstr "" -#: ipalib/plugins/sudorule.py:311 -msgid "Sudo Deny Command Groups" +#: ipaserver/plugins/servicedelegation.py:417 +msgid "Add member to a named service delegation rule." msgstr "" -#: ipalib/plugins/sudorule.py:315 -msgid "RunAs Users" +#: ipaserver/plugins/servicedelegation.py:426 +msgid "Remove member from a named service delegation rule." msgstr "" -#: ipalib/plugins/sudorule.py:316 -msgid "Run as a user" +#: ipaserver/plugins/servicedelegation.py:434 +msgid "Add target to a named service delegation rule." msgstr "" -#: ipalib/plugins/sudorule.py:320 -msgid "Groups of RunAs Users" +#: ipaserver/plugins/servicedelegation.py:445 +msgid "Remove target from a named service delegation rule." msgstr "" -#: ipalib/plugins/sudorule.py:321 -msgid "Run as any user within a specified group" +#: ipaserver/plugins/servicedelegation.py:455 +#: ipaserver/plugins/servicedelegation.py:484 +msgid "service delegation target" msgstr "" -#: ipalib/plugins/sudorule.py:326 -msgid "RunAs External User" +#: ipaserver/plugins/servicedelegation.py:456 +msgid "service delegation targets" msgstr "" -#: ipalib/plugins/sudorule.py:327 -msgid "External User the commands can run as (sudorule-find only)" +#: ipaserver/plugins/servicedelegation.py:463 +msgid "Service delegation targets" msgstr "" -#: ipalib/plugins/sudorule.py:331 -msgid "External Groups of RunAs Users" +#: ipaserver/plugins/servicedelegation.py:464 +msgid "Service delegation target" msgstr "" -#: ipalib/plugins/sudorule.py:332 -msgid "External Groups of users that the command can run as" +#: ipaserver/plugins/servicedelegation.py:469 +msgid "Create a new service delegation target." msgstr "" -#: ipalib/plugins/sudorule.py:336 -msgid "RunAs Groups" +#: ipaserver/plugins/servicedelegation.py:471 +#, python-format +msgid "Added service delegation target \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:337 -msgid "Run with the gid of a specified POSIX group" +#: ipaserver/plugins/servicedelegation.py:476 +msgid "Delete service delegation target." msgstr "" -#: ipalib/plugins/sudorule.py:342 -msgid "RunAs External Group" +#: ipaserver/plugins/servicedelegation.py:478 +#, python-format +msgid "Deleted service delegation target \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:343 -msgid "External Group the commands can run as (sudorule-find only)" +#: ipaserver/plugins/servicedelegation.py:486 +msgid "privileged service delegation target" msgstr "" -#: ipalib/plugins/sudorule.py:346 ipalib/plugins/sudorule.py:920 -#: ipalib/plugins/sudorule.py:973 -msgid "Sudo Option" +#: ipaserver/plugins/servicedelegation.py:493 +msgid "Search for service delegation target." msgstr "" -#: ipalib/plugins/sudorule.py:352 +#: ipaserver/plugins/servicedelegation.py:498 #, python-format -msgid "order must be a unique value (%(order)d already used by %(rule)s)" +msgid "%(count)d service delegation target matched" +msgid_plural "%(count)d service delegation targets matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/servicedelegation.py:531 +msgid "Display information about a named service delegation target." msgstr "" -#: ipalib/plugins/sudorule.py:374 -msgid "Create new Sudo Rule." +#: ipaserver/plugins/servicedelegation.py:538 +msgid "Add member to a named service delegation target." msgstr "" -#: ipalib/plugins/sudorule.py:383 -#, python-format -msgid "Added Sudo Rule \"%(value)s\"" +#: ipaserver/plugins/servicedelegation.py:547 +msgid "Remove member from a named service delegation target." msgstr "" -#: ipalib/plugins/sudorule.py:388 -msgid "Delete Sudo Rule." +#: ipaserver/plugins/stageuser.py:56 +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" +"Users can not authenticate with those entries (even if the entries\n" +"contain credentials). Those entries are only candidate to become Active " +"entries.\n" +"\n" +"Active user entries are Posix users directly under the container: " +"\"cn=accounts, SUFFIX\".\n" +"Users can authenticate with Active entries, at the condition they have\n" +"credentials.\n" +"\n" +"Deleted user entries are Posix users directly under the container: " +"\"cn=deleted users,\n" +"cn=accounts, cn=provisioning, SUFFIX\".\n" +"Users 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 have:\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 deleted users container:\n" +" ipa stageuser-add --first=Tim --last=User --from-delete tuser1\n" +"\n" msgstr "" -#: ipalib/plugins/sudorule.py:390 -#, python-format -msgid "Deleted Sudo Rule \"%(value)s\"" +#: ipaserver/plugins/stageuser.py:118 +msgid "Stage Users" msgstr "" -#: ipalib/plugins/sudorule.py:395 -msgid "Modify Sudo Rule." +#: ipaserver/plugins/stageuser.py:119 +msgid "Stage User" msgstr "" -#: ipalib/plugins/sudorule.py:397 -#, python-format -msgid "Modified Sudo Rule \"%(value)s\"" +#: ipaserver/plugins/stageuser.py:120 +msgid "stage user" msgstr "" -#: ipalib/plugins/sudorule.py:417 -#, python-format -msgid "" -"%(type)s category cannot be set to 'all' while there are allowed %(objects)s" +#: ipaserver/plugins/stageuser.py:121 +msgid "stage users" msgstr "" -#: ipalib/plugins/sudorule.py:423 ipalib/plugins/user.py:135 -msgid "user" +#: ipaserver/plugins/stageuser.py:266 +msgid "Add a new stage user." msgstr "" -#: ipalib/plugins/sudorule.py:423 ipalib/plugins/user.py:136 -msgid "users" +#: ipaserver/plugins/stageuser.py:268 +#, python-format +msgid "Added stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:433 -msgid "command" +#: ipaserver/plugins/stageuser.py:276 +msgid "Create Stage user in from a delete user" msgstr "" -#: ipalib/plugins/sudorule.py:433 -msgid "commands" +#: ipaserver/plugins/stageuser.py:287 +msgid "givenname is required" msgstr "" -#: ipalib/plugins/sudorule.py:439 -msgid "runAs user" +#: ipaserver/plugins/stageuser.py:290 +msgid "sn is required" msgstr "" -#: ipalib/plugins/sudorule.py:439 -msgid "runAs users" +#: ipaserver/plugins/stageuser.py:405 +msgid "Delete a stage user." msgstr "" -#: ipalib/plugins/sudorule.py:444 -msgid "group runAs" +#: ipaserver/plugins/stageuser.py:407 +#, python-format +msgid "Deleted stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:444 -msgid "runAs groups" +#: ipaserver/plugins/stageuser.py:411 +msgid "Modify a stage user." msgstr "" -#: ipalib/plugins/sudorule.py:462 -msgid "Search for Sudo Rule." +#: ipaserver/plugins/stageuser.py:413 +#, python-format +msgid "Modified stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:465 +#: ipaserver/plugins/stageuser.py:433 +msgid "Search for stage users." +msgstr "" + +#: ipaserver/plugins/stageuser.py:458 ipaserver/plugins/user.py:754 #, python-format -msgid "%(count)d Sudo Rule matched" -msgid_plural "%(count)d Sudo Rules matched" +msgid "%(count)d user matched" +msgid_plural "%(count)d users matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/sudorule.py:471 -msgid "Display Sudo Rule." +#: ipaserver/plugins/stageuser.py:463 +msgid "Display information about a stage user." msgstr "" -#: ipalib/plugins/sudorule.py:476 -msgid "Enable a Sudo Rule." +#: ipaserver/plugins/stageuser.py:480 +msgid "Activate a stage user." msgstr "" -#: ipalib/plugins/sudorule.py:497 +#: ipaserver/plugins/stageuser.py:482 #, python-format -msgid "Enabled Sudo Rule \"%s\"" +msgid "Activate a stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:502 -msgid "Disable a Sudo Rule." +#: ipaserver/plugins/stageuser.py:495 +msgid "Entry RDN is not 'uid'" msgstr "" -#: ipalib/plugins/sudorule.py:523 +#: ipaserver/plugins/stageuser.py:501 #, python-format -msgid "Disabled Sudo Rule \"%s\"" +msgid "Entry has no '%(attribute)s'" msgstr "" -#: ipalib/plugins/sudorule.py:528 ipalib/plugins/sudorule.py:559 -msgid "Add commands and sudo command groups affected by Sudo Rule." +#: ipaserver/plugins/stageuser.py:671 +#, python-format +msgid "active user with name \"%(user)s\" already exists" msgstr "" -#: ipalib/plugins/sudorule.py:543 -msgid "commands cannot be added when command category='all'" +#: ipaserver/plugins/stageuser.py:733 +#, python-format +msgid "Stage user %s activated" msgstr "" -#: ipalib/plugins/sudorule.py:551 ipalib/plugins/sudorule.py:571 -msgid "Remove commands and sudo command groups affected by Sudo Rule." +#: ipaserver/plugins/stageuser.py:740 +msgid "Add a manager to the stage user entry" msgstr "" -#: ipalib/plugins/sudorule.py:579 -msgid "Add users and groups affected by Sudo Rule." +#: ipaserver/plugins/stageuser.py:745 +msgid "Remove a manager to the stage user entry" msgstr "" -#: ipalib/plugins/sudorule.py:611 -msgid "Remove users and groups affected by Sudo Rule." +#: ipaserver/plugins/sudo.py:7 +msgid "commands for controlling sudo configuration" msgstr "" -#: ipalib/plugins/sudorule.py:629 -msgid "Add hosts and hostgroups affected by Sudo Rule." +#: ipaserver/plugins/sudocmd.py:33 +msgid "" +"\n" +"Sudo Commands\n" +"\n" +"Commands used as building blocks for sudo\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create a new command\n" +" ipa sudocmd-add --desc='For reading log files' /usr/bin/less\n" +"\n" +" Remove a command\n" +" ipa sudocmd-del /usr/bin/less\n" +"\n" msgstr "" -#: ipalib/plugins/sudorule.py:686 -msgid "Remove hosts and hostgroups affected by Sudo Rule." +#: ipaserver/plugins/sudocmd.py:58 +msgid "sudo command" msgstr "" -#: ipalib/plugins/sudorule.py:732 -msgid "Add users and groups for Sudo to execute as." +#: ipaserver/plugins/sudocmd.py:59 +msgid "sudo commands" msgstr "" -#: ipalib/plugins/sudorule.py:755 ipalib/plugins/sudorule.py:868 -msgid "users cannot be added when runAs user or runAs group category='all'" +#: ipaserver/plugins/sudocmd.py:111 +msgid "Sudo Commands" msgstr "" -#: ipalib/plugins/sudorule.py:762 -#, python-format -msgid "RunAsUser does not accept '%(name)s' as a user name" +#: ipaserver/plugins/sudocmd.py:112 ipaserver/plugins/sudocmd.py:117 +msgid "Sudo Command" msgstr "" -#: ipalib/plugins/sudorule.py:770 -#, python-format -msgid "RunAsUser does not accept '%(name)s' as a group name" +#: ipaserver/plugins/sudocmd.py:123 +msgid "A description of this command" msgstr "" -#: ipalib/plugins/sudorule.py:809 -msgid "Remove users and groups for Sudo to execute as." +#: ipaserver/plugins/sudocmd.py:146 +msgid "Create new Sudo Command." msgstr "" -#: ipalib/plugins/sudorule.py:847 -msgid "Add group for Sudo to execute as." +#: ipaserver/plugins/sudocmd.py:148 +#, python-format +msgid "Added Sudo Command \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:875 -#, python-format -msgid "RunAsGroup does not accept '%(name)s' as a group name" +#: ipaserver/plugins/sudocmd.py:153 +msgid "Delete Sudo Command." msgstr "" -#: ipalib/plugins/sudorule.py:895 -msgid "Remove group for Sudo to execute as." +#: ipaserver/plugins/sudocmd.py:155 +#, python-format +msgid "Deleted Sudo Command \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:914 -msgid "Add an option to the Sudo Rule." +#: ipaserver/plugins/sudocmd.py:186 +msgid "Modify Sudo Command." msgstr "" -#: ipalib/plugins/sudorule.py:958 +#: ipaserver/plugins/sudocmd.py:188 #, python-format -msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" +msgid "Modified Sudo Command \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:967 -msgid "Remove an option from Sudo Rule." +#: ipaserver/plugins/sudocmd.py:193 +msgid "Search for Sudo Commands." msgstr "" -#: ipalib/plugins/sudorule.py:1016 +#: ipaserver/plugins/sudocmd.py:196 #, python-format -msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\"" +msgid "%(count)d Sudo Command matched" +msgid_plural "%(count)d Sudo Commands matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/sudocmd.py:202 +msgid "Display Sudo Command." msgstr "" -#: ipalib/plugins/topology.py:22 +#: ipaserver/plugins/sudocmdgroup.py:34 msgid "" "\n" -"Topology\n" +"Groups of Sudo Commands\n" +"\n" +"Manage groups of Sudo Commands.\n" "\n" -"Management of a replication topology.\n" +"EXAMPLES:\n" +"\n" +" Add a new Sudo Command Group:\n" +" ipa sudocmdgroup-add --desc='administrators commands' admincmds\n" +"\n" +" Remove a Sudo Command Group:\n" +" ipa sudocmdgroup-del admincmds\n" +"\n" +" Manage Sudo Command Group membership, commands:\n" +" ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less --sudocmds=/usr/bin/" +"vim admincmds\n" +"\n" +" Manage Sudo Command Group membership, commands:\n" +" ipa sudocmdgroup-remove-member --sudocmds=/usr/bin/less admincmds\n" "\n" -"Requires minimum domain level 1.\n" +" Show a Sudo Command Group:\n" +" ipa sudocmdgroup-show admincmds\n" msgstr "" -#: ipalib/plugins/topology.py:37 -#, python-brace-format -msgid "Topology management requires minimum domain level {0} " +#: ipaserver/plugins/sudocmdgroup.py:67 +msgid "sudo command group" msgstr "" -#: ipalib/plugins/topology.py:49 -msgid "segment" +#: ipaserver/plugins/sudocmdgroup.py:68 +msgid "sudo command groups" msgstr "" -#: ipalib/plugins/topology.py:50 -msgid "segments" +#: ipaserver/plugins/sudocmdgroup.py:119 ipaserver/plugins/sudocmdgroup.py:124 +msgid "Sudo Command Group" msgstr "" -#: ipalib/plugins/topology.py:64 -msgid "Topology Segments" +#: ipaserver/plugins/sudocmdgroup.py:147 +msgid "Create new Sudo Command Group." msgstr "" -#: ipalib/plugins/topology.py:65 -msgid "Topology Segment" +#: ipaserver/plugins/sudocmdgroup.py:149 +#, python-format +msgid "Added Sudo Command Group \"%(value)s\"" msgstr "" -#: ipalib/plugins/topology.py:73 -msgid "Segment name" +#: ipaserver/plugins/sudocmdgroup.py:155 +msgid "Delete Sudo Command Group." msgstr "" -#: ipalib/plugins/topology.py:77 -msgid "Arbitrary string identifying the segment" +#: ipaserver/plugins/sudocmdgroup.py:157 +#, python-format +msgid "Deleted Sudo Command Group \"%(value)s\"" msgstr "" -#: ipalib/plugins/topology.py:85 -msgid "Left node" +#: ipaserver/plugins/sudocmdgroup.py:163 +msgid "Modify Sudo Command Group." msgstr "" -#: ipalib/plugins/topology.py:87 -msgid "Left replication node - an IPA server" +#: ipaserver/plugins/sudocmdgroup.py:165 +#, python-format +msgid "Modified Sudo Command Group \"%(value)s\"" msgstr "" -#: ipalib/plugins/topology.py:96 -msgid "Right node" +#: ipaserver/plugins/sudocmdgroup.py:171 +msgid "Search for Sudo Command Groups." msgstr "" -#: ipalib/plugins/topology.py:98 -msgid "Right replication node - an IPA server" +#: ipaserver/plugins/sudocmdgroup.py:174 +#, python-format +msgid "%(count)d Sudo Command Group matched" +msgid_plural "%(count)d Sudo Command Groups matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/sudocmdgroup.py:182 +msgid "Display Sudo Command Group." msgstr "" -#: ipalib/plugins/topology.py:104 -msgid "Connectivity" +#: ipaserver/plugins/sudocmdgroup.py:188 +msgid "Add members to Sudo Command Group." msgstr "" -#: ipalib/plugins/topology.py:108 -msgid "Direction of replication between left and right replication node" +#: ipaserver/plugins/sudocmdgroup.py:194 +msgid "Remove members from Sudo Command Group." msgstr "" -#: ipalib/plugins/topology.py:115 -msgid "Attributes to strip" +#: ipaserver/plugins/sudorule.py:42 +msgid "" +"\n" +"Sudo Rules\n" msgstr "" -#: ipalib/plugins/topology.py:117 +#: ipaserver/plugins/sudorule.py:44 msgid "" -"A space separated list of attributes which are removed from replication " -"updates." +"\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 "" -#: ipalib/plugins/topology.py:124 +#: ipaserver/plugins/sudorule.py:49 msgid "" -"Attributes that are not replicated to a consumer server during a fractional " -"update. E.g., `(objectclass=*) $ EXCLUDE accountlockout memberof" +"\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 "" -#: ipalib/plugins/topology.py:131 -msgid "Attributes for total update" +#: ipaserver/plugins/sudorule.py:58 +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 "" -#: ipalib/plugins/topology.py:132 +#: ipaserver/plugins/sudorule.py:62 msgid "" -"Attributes that are not replicated to a consumer server during a total " -"update. E.g. (objectclass=*) $ EXCLUDE accountlockout" -msgstr "" - -#: ipalib/plugins/topology.py:139 -msgid "Session timeout" +"\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 "" -#: ipalib/plugins/topology.py:141 +#: ipaserver/plugins/sudorule.py:65 msgid "" -"Number of seconds outbound LDAP operations waits for a response from the " -"remote replica before timing out and failing" +"\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 "" -#: ipalib/plugins/topology.py:148 -msgid "Replication agreement enabled" +#: ipaserver/plugins/sudorule.py:72 +msgid "" +"\n" +" Create a new rule:\n" +" ipa sudorule-add readfiles\n" msgstr "" -#: ipalib/plugins/topology.py:149 +#: ipaserver/plugins/sudorule.py:75 msgid "" -"Whether a replication agreement is active, meaning whether replication is " -"occurring per that agreement" +"\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 "" -#: ipalib/plugins/topology.py:170 -#, python-format -msgid "left node is not a topology node: %(leftnode)s" +#: ipaserver/plugins/sudorule.py:79 +msgid "" +"\n" +" Add a host to the rule:\n" +" ipa sudorule-add-host readfiles --hosts server.example.com\n" msgstr "" -#: ipalib/plugins/topology.py:177 -#, python-format -msgid "right node is not a topology node: %(rightnode)s" +#: ipaserver/plugins/sudorule.py:82 +msgid "" +"\n" +" Add a user to the rule:\n" +" ipa sudorule-add-user readfiles --users jsmith\n" msgstr "" -#: ipalib/plugins/topology.py:194 -msgid "left node and right node must not be the same" +#: ipaserver/plugins/sudorule.py:85 +msgid "" +"\n" +" Add a special Sudo rule for default Sudo server configuration:\n" +" ipa sudorule-add defaults\n" msgstr "" -#: ipalib/plugins/topology.py:200 -msgid "Search for topology segments." +#: ipaserver/plugins/sudorule.py:88 +msgid "" +"\n" +" Set a default Sudo option:\n" +" ipa sudorule-add-option defaults --sudooption '!authenticate'\n" msgstr "" -#: ipalib/plugins/topology.py:203 -#, python-format -msgid "%(count)d segment matched" -msgid_plural "%(count)d segments matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/topology.py:210 -msgid "Add a new segment." +#: ipaserver/plugins/sudorule.py:101 +msgid "this option has been deprecated." msgstr "" -#: ipalib/plugins/topology.py:212 -#, python-format -msgid "Added segment \"%(value)s\"" +#: ipaserver/plugins/sudorule.py:105 +msgid "host masks of allowed hosts" msgstr "" -#: ipalib/plugins/topology.py:223 -msgid "Delete a segment." +#: ipaserver/plugins/sudorule.py:128 +msgid "sudo rule" msgstr "" -#: ipalib/plugins/topology.py:225 -#, python-format -msgid "Deleted segment \"%(value)s\"" +#: ipaserver/plugins/sudorule.py:129 +msgid "sudo rules" msgstr "" -#: ipalib/plugins/topology.py:235 -msgid "Modify a segment." +#: ipaserver/plugins/sudorule.py:216 +msgid "Sudo Rules" msgstr "" -#: ipalib/plugins/topology.py:237 -#, python-format -msgid "Modified segment \"%(value)s\"" +#: ipaserver/plugins/sudorule.py:217 +msgid "Sudo Rule" msgstr "" -#: ipalib/plugins/topology.py:248 -msgid "" -"Request a full re-initialization of the node retrieving data from the other " -"node." +#: ipaserver/plugins/sudorule.py:247 +msgid "Command category" msgstr "" -#: ipalib/plugins/topology.py:252 -#, python-format -msgid "%(value)s" +#: ipaserver/plugins/sudorule.py:248 +msgid "Command category the rule applies to" msgstr "" -#: ipalib/plugins/topology.py:257 -msgid "Initialize left node" +#: ipaserver/plugins/sudorule.py:253 +msgid "RunAs User category" msgstr "" -#: ipalib/plugins/topology.py:262 -msgid "Initialize right node" +#: ipaserver/plugins/sudorule.py:254 +msgid "RunAs User category the rule applies to" msgstr "" -#: ipalib/plugins/topology.py:267 -msgid "Stop already started refresh of chosen node(s)" +#: ipaserver/plugins/sudorule.py:259 +msgid "RunAs Group category" msgstr "" -#: ipalib/plugins/topology.py:288 -msgid "left or right node has to be specified" +#: ipaserver/plugins/sudorule.py:260 +msgid "RunAs Group category the rule applies to" msgstr "" -#: ipalib/plugins/topology.py:293 -msgid "only one node can be specified" +#: ipaserver/plugins/sudorule.py:265 +msgid "Sudo order" msgstr "" -#: ipalib/plugins/topology.py:297 -#, python-format -msgid "Replication refresh for segment: \"%(pkey)s\" requested." +#: ipaserver/plugins/sudorule.py:266 +msgid "integer to order the Sudo rules" msgstr "" -#: ipalib/plugins/topology.py:300 -#, python-format -msgid "Stopping of replication refresh for segment: \"%(pkey)s\" requested." +#: ipaserver/plugins/sudorule.py:280 +msgid "External User" msgstr "" -#: ipalib/plugins/topology.py:321 -msgid "Display a segment." +#: ipaserver/plugins/sudorule.py:281 +msgid "External User the rule applies to (sudorule-find only)" msgstr "" -#: ipalib/plugins/topology.py:330 -msgid "suffix" +#: ipaserver/plugins/sudorule.py:293 +msgid "Host Masks" msgstr "" -#: ipalib/plugins/topology.py:331 -msgid "suffixes" +#: ipaserver/plugins/sudorule.py:299 +msgid "Sudo Allow Commands" msgstr "" -#: ipalib/plugins/topology.py:335 -msgid "Topology suffixes" +#: ipaserver/plugins/sudorule.py:303 +msgid "Sudo Deny Commands" msgstr "" -#: ipalib/plugins/topology.py:336 -msgid "Topology suffix" +#: ipaserver/plugins/sudorule.py:307 +msgid "Sudo Allow Command Groups" msgstr "" -#: ipalib/plugins/topology.py:343 -msgid "Suffix name" +#: ipaserver/plugins/sudorule.py:311 +msgid "Sudo Deny Command Groups" msgstr "" -#: ipalib/plugins/topology.py:349 -msgid "LDAP suffix to be managed" +#: ipaserver/plugins/sudorule.py:315 +msgid "RunAs Users" msgstr "" -#: ipalib/plugins/topology.py:357 -msgid "Search for topology suffixes." +#: ipaserver/plugins/sudorule.py:316 +msgid "Run as a user" msgstr "" -#: ipalib/plugins/topology.py:360 -#, python-format -msgid "%(count)d topology suffix matched" -msgid_plural "%(count)d topology suffixes matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/topology.py:367 -msgid "Delete a topology suffix." +#: ipaserver/plugins/sudorule.py:320 +msgid "Groups of RunAs Users" msgstr "" -#: ipalib/plugins/topology.py:371 -#, python-format -msgid "Deleted topology suffix \"%(value)s\"" +#: ipaserver/plugins/sudorule.py:321 +msgid "Run as any user within a specified group" msgstr "" -#: ipalib/plugins/topology.py:381 -msgid "Add a new topology suffix to be managed." +#: ipaserver/plugins/sudorule.py:326 +msgid "RunAs External User" msgstr "" -#: ipalib/plugins/topology.py:385 -#, python-format -msgid "Added topology suffix \"%(value)s\"" +#: ipaserver/plugins/sudorule.py:327 +msgid "External User the commands can run as (sudorule-find only)" msgstr "" -#: ipalib/plugins/topology.py:395 -msgid "Modify a topology suffix." +#: ipaserver/plugins/sudorule.py:331 +msgid "External Groups of RunAs Users" msgstr "" -#: ipalib/plugins/topology.py:399 -#, python-format -msgid "Modified topology suffix \"%(value)s\"" +#: ipaserver/plugins/sudorule.py:332 +msgid "External Groups of users that the command can run as" msgstr "" -#: ipalib/plugins/topology.py:409 -msgid "Show managed suffix." +#: ipaserver/plugins/sudorule.py:336 +msgid "RunAs Groups" msgstr "" -#: ipalib/plugins/topology.py:414 -msgid "" -"\n" -"Verify replication topology for suffix.\n" -"\n" -"Checks done:\n" -" 1. check if a topology is not disconnected. In other words if there are\n" -" replication paths between all servers.\n" -" 2. check if servers don't have more than the recommended number of\n" -" replication agreements\n" +#: ipaserver/plugins/sudorule.py:337 +msgid "Run with the gid of a specified POSIX group" msgstr "" -#: ipalib/plugins/topology.py:463 -#, python-format -msgid "Replication topology of suffix \"%(suffix)s\" is in order." +#: ipaserver/plugins/sudorule.py:342 +msgid "RunAs External Group" msgstr "" -#: ipalib/plugins/topology.py:466 -#, python-format -msgid "Replication topology of suffix \"%(suffix)s\" contains errors." +#: ipaserver/plugins/sudorule.py:343 +msgid "External Group the commands can run as (sudorule-find only)" msgstr "" -#: ipalib/plugins/topology.py:471 -msgid "Topology is disconnected" +#: ipaserver/plugins/sudorule.py:346 ipaserver/plugins/sudorule.py:914 +#: ipaserver/plugins/sudorule.py:959 +msgid "Sudo Option" msgstr "" -#: ipalib/plugins/topology.py:473 +#: ipaserver/plugins/sudorule.py:352 #, python-format -msgid "Server %(srv)s can't contact servers: %(replicas)s" -msgstr "" - -#: ipalib/plugins/topology.py:478 -msgid "Recommended maximum number of agreements per replica exceeded" +msgid "order must be a unique value (%(order)d already used by %(rule)s)" msgstr "" -#: ipalib/plugins/topology.py:481 -msgid "Maximum number of agreements per replica" +#: ipaserver/plugins/sudorule.py:374 +msgid "Create new Sudo Rule." msgstr "" -#: ipalib/plugins/topology.py:485 +#: ipaserver/plugins/sudorule.py:383 #, python-format -msgid "Server \"%(srv)s\" has %(n)d agreements with servers:" +msgid "Added Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:58 -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" +#: ipaserver/plugins/sudorule.py:388 +msgid "Delete Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:152 -msgid "Non-Active Directory domain" +#: ipaserver/plugins/sudorule.py:390 +#, python-format +msgid "Deleted Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:154 -msgid "RFC4120-compliant Kerberos realm" +#: ipaserver/plugins/sudorule.py:395 +msgid "Modify Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:155 -msgid "Trusting forest" +#: ipaserver/plugins/sudorule.py:397 +#, python-format +msgid "Modified Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:156 -msgid "Trusted forest" +#: ipaserver/plugins/sudorule.py:417 +#, python-format +msgid "" +"%(type)s category cannot be set to 'all' while there are allowed %(objects)s" msgstr "" -#: ipalib/plugins/trust.py:157 ipalib/plugins/trust.py:633 -msgid "Two-way trust" +#: ipaserver/plugins/sudorule.py:423 ipaserver/plugins/user.py:151 +msgid "user" msgstr "" -#: ipalib/plugins/trust.py:158 -msgid "Established and verified" +#: ipaserver/plugins/sudorule.py:423 ipaserver/plugins/user.py:152 +msgid "users" msgstr "" -#: ipalib/plugins/trust.py:159 -msgid "Waiting for confirmation by remote side" +#: ipaserver/plugins/sudorule.py:433 +msgid "command" msgstr "" -#: ipalib/plugins/trust.py:160 -msgid "Unknown" +#: ipaserver/plugins/sudorule.py:433 +msgid "commands" msgstr "" -#: ipalib/plugins/trust.py:164 -msgid "Trust type (ad for Active Directory, default)" +#: ipaserver/plugins/sudorule.py:439 +msgid "runAs user" msgstr "" -#: ipalib/plugins/trust.py:232 -#, python-format -msgid "" -" Alternatively, following servers are capable of running this command: " -"%(masters)s" +#: ipaserver/plugins/sudorule.py:439 +msgid "runAs users" msgstr "" -#: ipalib/plugins/trust.py:245 ipalib/plugins/trust.py:778 -#: ipalib/plugins/trust.py:794 ipalib/plugins/trust.py:815 -#: ipalib/plugins/trust.py:825 ipalib/plugins/trust.py:951 -#: ipalib/plugins/trust.py:985 ipalib/plugins/trust.py:1594 -msgid "AD Trust setup" +#: ipaserver/plugins/sudorule.py:444 +msgid "group runAs" msgstr "" -#: ipalib/plugins/trust.py:256 -msgid "" -"Cannot perform the selected command without Samba 4 support installed. Make " -"sure you have installed server-trust-ad sub-package of IPA." +#: ipaserver/plugins/sudorule.py:444 +msgid "runAs groups" msgstr "" -#: ipalib/plugins/trust.py:266 -msgid "" -"Cannot perform the selected command without Samba 4 instance configured on " -"this machine. Make sure you have run ipa-adtrust-install on this server." +#: ipaserver/plugins/sudorule.py:462 +msgid "Search for Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:448 -msgid "" -"Fetching domains from trusted forest failed. See details in the error_log" -msgstr "" +#: ipaserver/plugins/sudorule.py:465 +#, python-format +msgid "%(count)d Sudo Rule matched" +msgid_plural "%(count)d Sudo Rules matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/trust.py:459 -msgid "trust" +#: ipaserver/plugins/sudorule.py:471 +msgid "Display Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:460 -msgid "trusts" +#: ipaserver/plugins/sudorule.py:476 +msgid "Enable a Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:498 -msgid "Trust" +#: ipaserver/plugins/sudorule.py:499 +msgid "Disable a Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:503 ipa-client/ipa-rmkeytab.c:176 -msgid "Realm name" +#: ipaserver/plugins/sudorule.py:522 ipaserver/plugins/sudorule.py:553 +msgid "Add commands and sudo command groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:517 -msgid "SID blacklist incoming" +#: ipaserver/plugins/sudorule.py:537 +msgid "commands cannot be added when command category='all'" msgstr "" -#: ipalib/plugins/trust.py:522 -msgid "SID blacklist outgoing" +#: ipaserver/plugins/sudorule.py:545 ipaserver/plugins/sudorule.py:565 +msgid "Remove commands and sudo command groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:539 -#, python-format -msgid "invalid SID: %(value)s" +#: ipaserver/plugins/sudorule.py:573 +msgid "Add users and groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:577 -msgid "" -"\n" -"Add new trust to use.\n" -"\n" -"This command establishes trust relationship to another domain\n" -"which becomes 'trusted'. As result, users of the trusted domain\n" -"may access resources of this domain.\n" -"\n" -"Only trusts to Active Directory domains are supported right now.\n" -"\n" -"The command can be safely run multiple times against the same domain,\n" -"this will cause change to trust relationship credentials on both\n" -"sides.\n" -" " +#: ipaserver/plugins/sudorule.py:605 +msgid "Remove users and groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:601 -msgid "Active Directory domain administrator" +#: ipaserver/plugins/sudorule.py:623 +msgid "Add hosts and hostgroups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:605 -msgid "Active Directory domain administrator's password" +#: ipaserver/plugins/sudorule.py:680 +msgid "Remove hosts and hostgroups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:610 ipalib/plugins/trust.py:1570 -msgid "Domain controller for the Active Directory domain (optional)" +#: ipaserver/plugins/sudorule.py:726 +msgid "Add users and groups for Sudo to execute as." msgstr "" -#: ipalib/plugins/trust.py:614 -msgid "Shared secret for the trust" +#: ipaserver/plugins/sudorule.py:749 ipaserver/plugins/sudorule.py:862 +msgid "users cannot be added when runAs user or runAs group category='all'" msgstr "" -#: ipalib/plugins/trust.py:619 -msgid "First Posix ID of the range reserved for the trusted domain" +#: ipaserver/plugins/sudorule.py:756 +#, python-format +msgid "RunAsUser does not accept '%(name)s' as a user name" msgstr "" -#: ipalib/plugins/trust.py:623 -msgid "Size of the ID range reserved for the trusted domain" +#: ipaserver/plugins/sudorule.py:764 +#, python-format +msgid "RunAsUser does not accept '%(name)s' as a group name" msgstr "" -#: ipalib/plugins/trust.py:628 -#, python-brace-format -msgid "Type of trusted domain ID range, one of {vals}" +#: ipaserver/plugins/sudorule.py:803 +msgid "Remove users and groups for Sudo to execute as." msgstr "" -#: ipalib/plugins/trust.py:635 -msgid "" -"Establish bi-directional trust. By default trust is inbound one-way only." +#: ipaserver/plugins/sudorule.py:841 +msgid "Add group for Sudo to execute as." msgstr "" -#: ipalib/plugins/trust.py:640 +#: ipaserver/plugins/sudorule.py:869 #, python-format -msgid "Added Active Directory trust for realm \"%(value)s\"" +msgid "RunAsGroup does not accept '%(name)s' as a group name" msgstr "" -#: ipalib/plugins/trust.py:641 -#, python-format -msgid "Re-established trust to domain \"%(value)s\"" +#: ipaserver/plugins/sudorule.py:889 +msgid "Remove group for Sudo to execute as." msgstr "" -#: ipalib/plugins/trust.py:738 -msgid "missing base_id" +#: ipaserver/plugins/sudorule.py:908 +msgid "Add an option to the Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:740 -msgid "pysss_murmur is not available on the server and no base-id is given." +#: ipaserver/plugins/sudorule.py:953 +msgid "Remove an option from Sudo Rule." msgstr "" -#: ipalib/plugins/trust.py:746 ipalib/plugins/trust.py:750 -msgid "trust type" +#: ipaserver/plugins/topology.py:23 +msgid "" +"\n" +"Topology\n" +"\n" +"Management of a replication topology at domain level 1.\n" msgstr "" -#: ipalib/plugins/trust.py:751 -msgid "only \"ad\" is supported" +#: ipaserver/plugins/topology.py:27 +msgid "" +"\n" +"IPA server's data is stored in LDAP server in two suffixes:\n" +"* domain suffix, e.g., 'dc=example,dc=com', contains all domain related " +"data\n" +"* ca suffix, 'o=ipaca', is present only on server with CA installed. It\n" +" contains data for Certificate Server component\n" msgstr "" -#: ipalib/plugins/trust.py:757 -msgid "domain" +#: ipaserver/plugins/topology.py:32 +msgid "" +"\n" +"Data stored on IPA servers is replicated to other IPA servers. The way it " +"is\n" +"replicated is defined by replication agreements. Replication agreements " +"needs\n" +"to be set for both suffixes separately. On domain level 0 they are managed\n" +"using ipa-replica-manage and ipa-csreplica-manage tools. With domain level " +"1\n" +"they are managed centrally using `ipa topology*` commands.\n" msgstr "" -#: ipalib/plugins/trust.py:758 +#: ipaserver/plugins/topology.py:38 msgid "" -"Cannot establish a trust to AD deployed in the same domain as IPA. Such " -"setup is not supported." +"\n" +"Agreements are represented by topology segments. By default topology " +"segment\n" +"represents 2 replication agreements - one for each direction, e.g., A to B " +"and\n" +"B to A. Creation of unidirectional segments is not allowed.\n" msgstr "" -#: ipalib/plugins/trust.py:769 -msgid "Realm-domain mismatch" +#: ipaserver/plugins/topology.py:42 +msgid "" +"\n" +"To verify that no server is disconnected in the topology of the given " +"suffix,\n" +"use:\n" +" ipa topologysuffix-verify $suffix\n" msgstr "" -#: ipalib/plugins/trust.py:770 +#: ipaserver/plugins/topology.py:46 msgid "" -"To establish trust with Active Directory, the domain name and the realm name " -"of the IPA server must match" +"\n" +"\n" +"Examples:\n" +" Find all IPA servers:\n" +" ipa server-find\n" msgstr "" -#: ipalib/plugins/trust.py:796 -#, python-format +#: ipaserver/plugins/topology.py:51 msgid "" -"Trusted domain %(domain)s is included among IPA realm domains. It needs to " -"be removed prior to establishing the trust. See the \"ipa realmdomains-mod --" -"del-domain\" command." +"\n" +" Find all suffixes:\n" +" ipa topologysuffix-find\n" msgstr "" -#: ipalib/plugins/trust.py:817 -msgid "Trusted domain and administrator account use different realms" +#: ipaserver/plugins/topology.py:54 +msgid "" +"\n" +" Add topology segment to 'domain' suffix:\n" +" ipa topologysegment-add domain --left IPA_SERVER_A --right IPA_SERVER_B\n" msgstr "" -#: ipalib/plugins/trust.py:826 -msgid "Realm administrator password should be specified" +#: ipaserver/plugins/topology.py:57 +msgid "" +"\n" +" Add topology segment to 'ca' suffix:\n" +" ipa topologysegment-add ca --left IPA_SERVER_A --right IPA_SERVER_B\n" msgstr "" -#: ipalib/plugins/trust.py:847 -msgid "id range type" +#: ipaserver/plugins/topology.py:60 +msgid "" +"\n" +" List all topology segments in 'domain' suffix:\n" +" ipa topologysegment-find domain\n" msgstr "" -#: ipalib/plugins/trust.py:849 +#: ipaserver/plugins/topology.py:63 msgid "" -"Only the ipa-ad-trust and ipa-ad-trust-posix are allowed values for --range-" -"type when adding an AD trust." +"\n" +" List all topology segments in 'ca' suffix:\n" +" ipa topologysegment-find ca\n" msgstr "" -#: ipalib/plugins/trust.py:859 -msgid "id range" +#: ipaserver/plugins/topology.py:66 +msgid "" +"\n" +" Delete topology segment in 'domain' suffix:\n" +" ipa topologysegment-del domain segment_name\n" msgstr "" -#: ipalib/plugins/trust.py:861 +#: ipaserver/plugins/topology.py:69 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." +"\n" +" Delete topology segment in 'ca' suffix:\n" +" ipa topologysegment-del ca segment_name\n" msgstr "" -#: ipalib/plugins/trust.py:883 -msgid "range exists" +#: ipaserver/plugins/topology.py:72 +msgid "" +"\n" +" Verify topology of 'domain' suffix:\n" +" ipa topologysuffix-verify domain\n" msgstr "" -#: ipalib/plugins/trust.py:885 +#: ipaserver/plugins/topology.py:75 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." +"\n" +" Verify topology of 'ca' suffix:\n" +" ipa topologysuffix-verify ca\n" msgstr "" -#: ipalib/plugins/trust.py:892 -msgid "range type change" +#: ipaserver/plugins/topology.py:87 +#, python-brace-format +msgid "Topology management requires minimum domain level {0} " msgstr "" -#: ipalib/plugins/trust.py:893 -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." +#: ipaserver/plugins/topology.py:99 +msgid "segment" msgstr "" -#: ipalib/plugins/trust.py:926 -#, python-format -msgid "Unable to resolve domain controller for '%s' domain. " +#: ipaserver/plugins/topology.py:100 +msgid "segments" msgstr "" -#: ipalib/plugins/trust.py:932 -msgid "" -"Forward policy is defined for it in IPA DNS, perhaps forwarder points to " -"incorrect host?" +#: ipaserver/plugins/topology.py:114 +msgid "Topology Segments" msgstr "" -#: ipalib/plugins/trust.py:935 -#, python-format -msgid "" -"IPA manages DNS, please verify your DNS configuration and make sure that " -"service records of the '%(domain)s' domain can be resolved. Examples how to " -"configure DNS with CLI commands or the Web UI can be found in the " -"documentation. " +#: ipaserver/plugins/topology.py:115 +msgid "Topology Segment" msgstr "" -#: ipalib/plugins/trust.py:945 -#, python-format -msgid "" -"Since IPA does not manage DNS records, ensure DNS is configured to resolve " -"'%(domain)s' domain from IPA hosts and back." +#: ipaserver/plugins/topology.py:123 +msgid "Segment name" msgstr "" -#: ipalib/plugins/trust.py:952 -msgid "Unable to verify write permissions to the AD" +#: ipaserver/plugins/topology.py:127 +msgid "Arbitrary string identifying the segment" msgstr "" -#: ipalib/plugins/trust.py:986 -msgid "Not enough arguments specified to perform trust setup" +#: ipaserver/plugins/topology.py:135 +msgid "Left node" msgstr "" -#: ipalib/plugins/trust.py:991 -msgid "Delete a trust." +#: ipaserver/plugins/topology.py:137 +msgid "Left replication node - an IPA server" msgstr "" -#: ipalib/plugins/trust.py:993 -#, python-format -msgid "Deleted trust \"%(value)s\"" +#: ipaserver/plugins/topology.py:146 +msgid "Right node" msgstr "" -#: ipalib/plugins/trust.py:997 +#: ipaserver/plugins/topology.py:148 +msgid "Right replication node - an IPA server" +msgstr "" + +#: ipaserver/plugins/topology.py:154 +msgid "Connectivity" +msgstr "" + +#: ipaserver/plugins/topology.py:158 +msgid "Direction of replication between left and right replication node" +msgstr "" + +#: ipaserver/plugins/topology.py:165 +msgid "Attributes to strip" +msgstr "" + +#: ipaserver/plugins/topology.py:167 msgid "" -"\n" -" Modify a trust (for future use).\n" -"\n" -" Currently only the default option to modify the LDAP attributes is\n" -" available. More specific options will be added in coming releases.\n" -" " +"A space separated list of attributes which are removed from replication " +"updates." msgstr "" -#: ipalib/plugins/trust.py:1004 -#, python-format -msgid "Modified trust \"%(value)s\" (change will be effective in 60 seconds)" +#: ipaserver/plugins/topology.py:174 +msgid "" +"Attributes that are not replicated to a consumer server during a fractional " +"update. E.g., `(objectclass=*) $ EXCLUDE accountlockout memberof" msgstr "" -#: ipalib/plugins/trust.py:1016 -msgid "Search for trusts." +#: ipaserver/plugins/topology.py:181 +msgid "Attributes for total update" msgstr "" -#: ipalib/plugins/trust.py:1021 -#, python-format -msgid "%(count)d trust matched" -msgid_plural "%(count)d trusts matched" -msgstr[0] "" -msgstr[1] "" +#: ipaserver/plugins/topology.py:182 +msgid "" +"Attributes that are not replicated to a consumer server during a total " +"update. E.g. (objectclass=*) $ EXCLUDE accountlockout" +msgstr "" -#: ipalib/plugins/trust.py:1047 -msgid "Display information about a trust." +#: ipaserver/plugins/topology.py:189 +msgid "Session timeout" msgstr "" -#: ipalib/plugins/trust.py:1082 -msgid "trust configuration" +#: ipaserver/plugins/topology.py:191 +msgid "" +"Number of seconds outbound LDAP operations waits for a response from the " +"remote replica before timing out and failing" msgstr "" -#: ipalib/plugins/trust.py:1088 ipalib/plugins/trust.py:1089 -msgid "Global Trust Configuration" +#: ipaserver/plugins/topology.py:198 +msgid "Replication agreement enabled" msgstr "" -#: ipalib/plugins/trust.py:1097 -msgid "Security Identifier" +#: ipaserver/plugins/topology.py:199 +msgid "" +"Whether a replication agreement is active, meaning whether replication is " +"occurring per that agreement" msgstr "" -#: ipalib/plugins/trust.py:1101 -msgid "NetBIOS name" +#: ipaserver/plugins/topology.py:221 +#, python-format +msgid "left node is not a topology node: %(leftnode)s" msgstr "" -#: ipalib/plugins/trust.py:1105 -msgid "Domain GUID" +#: ipaserver/plugins/topology.py:228 +#, python-format +msgid "right node is not a topology node: %(rightnode)s" msgstr "" -#: ipalib/plugins/trust.py:1110 -msgid "Fallback primary group" +#: ipaserver/plugins/topology.py:245 +msgid "left node and right node must not be the same" msgstr "" -#: ipalib/plugins/trust.py:1122 -msgid "unsupported trust type" +#: ipaserver/plugins/topology.py:251 +msgid "Search for topology segments." msgstr "" -#: ipalib/plugins/trust.py:1185 -msgid "Modify global trust configuration." +#: ipaserver/plugins/topology.py:254 +#, python-format +msgid "%(count)d segment matched" +msgid_plural "%(count)d segments matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/topology.py:261 +msgid "Add a new segment." msgstr "" -#: ipalib/plugins/trust.py:1188 +#: ipaserver/plugins/topology.py:263 #, python-format -msgid "Modified \"%(value)s\" trust configuration" -msgstr "" - -#: ipalib/plugins/trust.py:1207 -msgid "Show global trust configuration." -msgstr "" - -#: ipalib/plugins/trust.py:1234 -msgid "Resolve security identifiers of users and groups in trusted domains" +msgid "Added segment \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1238 -msgid "Security Identifiers (SIDs)" +#: ipaserver/plugins/topology.py:274 +msgid "Delete a segment." msgstr "" -#: ipalib/plugins/trust.py:1244 -msgid "Name" +#: ipaserver/plugins/topology.py:276 +#, python-format +msgid "Deleted segment \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1245 -msgid "SID" +#: ipaserver/plugins/topology.py:286 +msgid "Modify a segment." msgstr "" -#: ipalib/plugins/trust.py:1276 -msgid "Determine whether ipa-adtrust-install has been run on this system" +#: ipaserver/plugins/topology.py:288 +#, python-format +msgid "Modified segment \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1303 +#: ipaserver/plugins/topology.py:299 msgid "" -"Determine whether Schema Compatibility plugin is configured to serve trusted " -"domain users and groups" -msgstr "" - -#: ipalib/plugins/trust.py:1356 -msgid "Determine whether ipa-adtrust-install has been run with sidgen task" +"Request a full re-initialization of the node retrieving data from the other " +"node." msgstr "" -#: ipalib/plugins/trust.py:1372 -msgid "sidgen_was_run" +#: ipaserver/plugins/topology.py:303 +#, python-format +msgid "%(value)s" msgstr "" -#: ipalib/plugins/trust.py:1374 -msgid "" -"This command relies on the existence of the \"editors\" group, but this " -"group was not found." +#: ipaserver/plugins/topology.py:308 +msgid "Initialize left node" msgstr "" -#: ipalib/plugins/trust.py:1393 -msgid "trust domain" +#: ipaserver/plugins/topology.py:313 +msgid "Initialize right node" msgstr "" -#: ipalib/plugins/trust.py:1394 -msgid "trust domains" +#: ipaserver/plugins/topology.py:318 +msgid "Stop already started refresh of chosen node(s)" msgstr "" -#: ipalib/plugins/trust.py:1399 -msgid "Trusted domains" +#: ipaserver/plugins/topology.py:339 +msgid "left or right node has to be specified" msgstr "" -#: ipalib/plugins/trust.py:1400 -msgid "Trusted domain" +#: ipaserver/plugins/topology.py:344 +msgid "only one node can be specified" msgstr "" -#: ipalib/plugins/trust.py:1404 -msgid "Domain name" +#: ipaserver/plugins/topology.py:348 +#, python-format +msgid "Replication refresh for segment: \"%(pkey)s\" requested." msgstr "" -#: ipalib/plugins/trust.py:1417 -msgid "Trusted domain partner" +#: ipaserver/plugins/topology.py:351 +#, python-format +msgid "Stopping of replication refresh for segment: \"%(pkey)s\" requested." msgstr "" -#: ipalib/plugins/trust.py:1437 -msgid "Search domains of the trust" +#: ipaserver/plugins/topology.py:372 +msgid "Display a segment." msgstr "" -#: ipalib/plugins/trust.py:1440 -msgid "Domain enabled" +#: ipaserver/plugins/topology.py:381 +msgid "suffix" msgstr "" -#: ipalib/plugins/trust.py:1467 -msgid "Modify trustdomain of the trust" +#: ipaserver/plugins/topology.py:382 +msgid "suffixes" msgstr "" -#: ipalib/plugins/trust.py:1474 -msgid "Allow access from the trusted domain" +#: ipaserver/plugins/topology.py:386 +msgid "Topology suffixes" msgstr "" -#: ipalib/plugins/trust.py:1485 -msgid "Remove infromation about the domain associated with the trust." +#: ipaserver/plugins/topology.py:387 +msgid "Topology suffix" msgstr "" -#: ipalib/plugins/trust.py:1487 -#, python-format -msgid "Removed information about the trusted domain \"%(value)s\"" +#: ipaserver/plugins/topology.py:394 +msgid "Suffix name" msgstr "" -#: ipalib/plugins/trust.py:1502 -msgid "" -"cannot delete root domain of the trust, use trust-del to delete the trust " -"itself" +#: ipaserver/plugins/topology.py:399 +msgid "Managed LDAP suffix DN" msgstr "" -#: ipalib/plugins/trust.py:1564 -msgid "Refresh list of the domains associated with the trust" +#: ipaserver/plugins/topology.py:406 +msgid "Search for topology suffixes." msgstr "" -#: ipalib/plugins/trust.py:1588 -msgid "" -"List of trust domains successfully refreshed. Use trustdomain-find command " -"to list them." -msgstr "" +#: ipaserver/plugins/topology.py:409 +#, python-format +msgid "%(count)d topology suffix matched" +msgid_plural "%(count)d topology suffixes matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/trust.py:1605 -msgid "List of trust domains successfully refreshed" +#: ipaserver/plugins/topology.py:416 +msgid "Delete a topology suffix." msgstr "" -#: ipalib/plugins/trust.py:1607 -msgid "No new trust domains were found" +#: ipaserver/plugins/topology.py:420 +#, python-format +msgid "Deleted topology suffix \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1616 -msgid "Allow use of IPA resources by the domain of the trust" +#: ipaserver/plugins/topology.py:430 +msgid "Add a new topology suffix to be managed." msgstr "" -#: ipalib/plugins/trust.py:1619 +#: ipaserver/plugins/topology.py:434 #, python-format -msgid "Enabled trust domain \"%(value)s\"" +msgid "Added topology suffix \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1627 -msgid "Root domain of the trust is always enabled for the existing trust" +#: ipaserver/plugins/topology.py:444 +msgid "Modify a topology suffix." msgstr "" -#: ipalib/plugins/trust.py:1657 -msgid "Disable use of IPA resources by the domain of the trust" +#: ipaserver/plugins/topology.py:448 +#, python-format +msgid "Modified topology suffix \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1660 -#, python-format -msgid "Disabled trust domain \"%(value)s\"" +#: ipaserver/plugins/topology.py:458 +msgid "Show managed suffix." msgstr "" -#: ipalib/plugins/trust.py:1668 +#: ipaserver/plugins/topology.py:463 msgid "" -"cannot disable root domain of the trust, use trust-del to delete the trust " -"itself" +"\n" +"Verify replication topology for suffix.\n" +"\n" +"Checks done:\n" +" 1. check if a topology is not disconnected. In other words if there are\n" +" replication paths between all servers.\n" +" 2. check if servers don't have more than the recommended number of\n" +" replication agreements\n" msgstr "" -#: ipalib/plugins/user.py:57 +#: ipaserver/plugins/trust.py:75 msgid "" "\n" -"Users\n" +"Cross-realm trusts\n" "\n" -"Manage user entries. All users are POSIX users.\n" +"Manage trust relationship between IPA and Active Directory domains.\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" +"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" -"Disabling a user account prevents that user from obtaining new Kerberos\n" -"credentials. It does not invalidate any credentials that have already\n" -"been issued.\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" -"Password management is not a part of this module. For more information\n" -"about this topic please see: ipa help passwd\n" +"Examples:\n" "\n" -"Account lockout on password failure happens per IPA master. The user-status\n" -"command can be used to identify which master the user is locked out on.\n" -"It is on that master the administrator must unlock the user.\n" +"1. Establish cross-realm trust with Active Directory using AD administrator\n" +" credentials:\n" "\n" -"EXAMPLES:\n" +" ipa trust-add --type=ad --admin --" +"password\n" "\n" -" Add a new user:\n" -" ipa user-add --first=Tim --last=User --password tuser1\n" +"2. List all existing trust relationships:\n" "\n" -" Find all users whose entries include the string \"Tim\":\n" -" ipa user-find Tim\n" +" ipa trust-find\n" "\n" -" Find all users with \"Tim\" as the first name:\n" -" ipa user-find --first=Tim\n" +"3. Show details of the specific trust relationship:\n" "\n" -" Disable a user account:\n" -" ipa user-disable tuser1\n" +" ipa trust-show \n" "\n" -" Enable a user account:\n" -" ipa user-enable tuser1\n" +"4. Delete existing trust relationship:\n" "\n" -" Delete a user:\n" -" ipa user-del tuser1\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 "" -#: ipalib/plugins/user.py:349 -msgid "Account disabled" +#: ipaserver/plugins/trust.py:168 +msgid "UPN suffixes" msgstr "" -#: ipalib/plugins/user.py:353 -msgid "Preserved user" +#: ipaserver/plugins/trust.py:174 +msgid "Non-Active Directory domain" msgstr "" -#: ipalib/plugins/user.py:405 -msgid "Add a new user." +#: ipaserver/plugins/trust.py:176 +msgid "RFC4120-compliant Kerberos realm" msgstr "" -#: ipalib/plugins/user.py:407 -#, python-format -msgid "Added user \"%(value)s\"" +#: ipaserver/plugins/trust.py:177 +msgid "" +"Non-transitive external trust to a domain in another Active Directory forest" msgstr "" -#: ipalib/plugins/user.py:414 -msgid "Don't create user private group" +#: ipaserver/plugins/trust.py:179 +msgid "Trusting forest" msgstr "" -#: ipalib/plugins/user.py:490 -msgid "Default group for new users is not POSIX" +#: ipaserver/plugins/trust.py:180 +msgid "Trusted forest" msgstr "" -#: ipalib/plugins/user.py:580 -msgid "Delete a user." +#: ipaserver/plugins/trust.py:181 ipaserver/plugins/trust.py:692 +msgid "Two-way trust" msgstr "" -#: ipalib/plugins/user.py:582 -#, python-format -msgid "Deleted user \"%(value)s\"" +#: ipaserver/plugins/trust.py:182 +msgid "Established and verified" msgstr "" -#: ipalib/plugins/user.py:590 -msgid "Delete a user, keeping the entry available for future use" +#: ipaserver/plugins/trust.py:183 +msgid "Waiting for confirmation by remote side" msgstr "" -#: ipalib/plugins/user.py:594 -msgid "Delete a user" +#: ipaserver/plugins/trust.py:184 +msgid "Unknown" +msgstr "" + +#: ipaserver/plugins/trust.py:188 +msgid "Trust type (ad for Active Directory, default)" msgstr "" -#: ipalib/plugins/user.py:608 +#: ipaserver/plugins/trust.py:259 #, python-format -msgid "%s: user is already preserved" +msgid "" +" Alternatively, following servers are capable of running this command: " +"%(masters)s" msgstr "" -#: ipalib/plugins/user.py:660 -msgid "preserve and no-preserve cannot be both set" +#: ipaserver/plugins/trust.py:272 ipaserver/plugins/trust.py:822 +#: ipaserver/plugins/trust.py:838 ipaserver/plugins/trust.py:859 +#: ipaserver/plugins/trust.py:869 ipaserver/plugins/trust.py:1000 +#: ipaserver/plugins/trust.py:1034 ipaserver/plugins/trust.py:1714 +msgid "AD Trust setup" msgstr "" -#: ipalib/plugins/user.py:729 -msgid "Modify a user." +#: ipaserver/plugins/trust.py:283 +msgid "" +"Cannot perform the selected command without Samba 4 support installed. Make " +"sure you have installed server-trust-ad sub-package of IPA." msgstr "" -#: ipalib/plugins/user.py:731 -#, python-format -msgid "Modified user \"%(value)s\"" +#: ipaserver/plugins/trust.py:293 +msgid "" +"Cannot perform the selected command without Samba 4 instance configured on " +"this machine. Make sure you have run ipa-adtrust-install on this server." +msgstr "" + +#: ipaserver/plugins/trust.py:475 +msgid "" +"Fetching domains from trusted forest failed. See details in the error_log" msgstr "" -#: ipalib/plugins/user.py:749 -msgid "Search for users." +#: ipaserver/plugins/trust.py:486 +msgid "trust" msgstr "" -#: ipalib/plugins/user.py:760 -msgid "Self" +#: ipaserver/plugins/trust.py:487 +msgid "trusts" msgstr "" -#: ipalib/plugins/user.py:761 -msgid "Display user record for current Kerberos principal" +#: ipaserver/plugins/trust.py:530 +msgid "Trust" msgstr "" -#: ipalib/plugins/user.py:804 -msgid "Display information about a user." +#: ipaserver/plugins/trust.py:535 client/ipa-rmkeytab.c:176 +msgid "Realm name" msgstr "" -#: ipalib/plugins/user.py:844 -msgid "Undelete a delete user account." +#: ipaserver/plugins/trust.py:548 +msgid "SID blacklist incoming" msgstr "" -#: ipalib/plugins/user.py:847 -#, python-format -msgid "Undeleted user account \"%(value)s\"" +#: ipaserver/plugins/trust.py:552 +msgid "SID blacklist outgoing" msgstr "" -#: ipalib/plugins/user.py:861 +#: ipaserver/plugins/trust.py:569 #, python-format -msgid "user \"%s\" is already active" +msgid "invalid SID: %(value)s" msgstr "" -#: ipalib/plugins/user.py:889 -msgid "Move deleted user into staged area" +#: ipaserver/plugins/trust.py:636 +msgid "" +"\n" +"Add new trust to use.\n" +"\n" +"This command establishes trust relationship to another domain\n" +"which becomes 'trusted'. As result, users of the trusted domain\n" +"may access resources of this domain.\n" +"\n" +"Only trusts to Active Directory domains are supported right now.\n" +"\n" +"The command can be safely run multiple times against the same domain,\n" +"this will cause change to trust relationship credentials on both\n" +"sides.\n" +" " msgstr "" -#: ipalib/plugins/user.py:892 -#, python-format -msgid "Staged user account \"%(value)s\"" +#: ipaserver/plugins/trust.py:660 +msgid "Active Directory domain administrator" msgstr "" -#: ipalib/plugins/user.py:939 -msgid "Disable a user account." +#: ipaserver/plugins/trust.py:664 +msgid "Active Directory domain administrator's password" msgstr "" -#: ipalib/plugins/user.py:942 -#, python-format -msgid "Disabled user account \"%(value)s\"" +#: ipaserver/plugins/trust.py:669 ipaserver/plugins/trust.py:1690 +msgid "Domain controller for the Active Directory domain (optional)" msgstr "" -#: ipalib/plugins/user.py:960 -msgid "Enable a user account." +#: ipaserver/plugins/trust.py:673 +msgid "Shared secret for the trust" msgstr "" -#: ipalib/plugins/user.py:964 -#, python-format -msgid "Enabled user account \"%(value)s\"" +#: ipaserver/plugins/trust.py:678 +msgid "First Posix ID of the range reserved for the trusted domain" msgstr "" -#: ipalib/plugins/user.py:981 -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." +#: ipaserver/plugins/trust.py:682 +msgid "Size of the ID range reserved for the trusted domain" msgstr "" -#: ipalib/plugins/user.py:990 -#, python-format -msgid "Unlocked account \"%(value)s\"" +#: ipaserver/plugins/trust.py:687 +#, python-brace-format +msgid "Type of trusted domain ID range, one of {vals}" msgstr "" -#: ipalib/plugins/user.py:1010 +#: ipaserver/plugins/trust.py:694 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. " +"Establish bi-directional trust. By default trust is inbound one-way only." msgstr "" -#: ipalib/plugins/user.py:1066 -#, python-format -msgid "%(host)s failed: %(error)s" +#: ipaserver/plugins/trust.py:698 +msgid "External trust" msgstr "" -#: ipalib/plugins/user.py:1103 -#, python-format -msgid "%(host)s failed" +#: ipaserver/plugins/trust.py:700 +msgid "" +"Establish external trust to a domain in another forest. The trust is not " +"transitive beyond the domain." msgstr "" -#: ipalib/plugins/user.py:1113 +#: ipaserver/plugins/trust.py:705 #, python-format -msgid "Account disabled: %(disabled)s" -msgstr "" - -#: ipalib/plugins/user.py:1120 -msgid "Add one or more certificates to the user entry" +msgid "Added Active Directory trust for realm \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:1121 +#: ipaserver/plugins/trust.py:706 #, python-format -msgid "Added certificates to user \"%(value)s\"" +msgid "Re-established trust to domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:1142 -msgid "Remove one or more certificates to the user entry" +#: ipaserver/plugins/trust.py:782 +msgid "missing base_id" msgstr "" -#: ipalib/plugins/user.py:1143 -#, python-format -msgid "Removed certificates from user \"%(value)s\"" +#: ipaserver/plugins/trust.py:784 +msgid "pysss_murmur is not available on the server and no base-id is given." msgstr "" -#: ipalib/plugins/user.py:1164 -msgid "Add a manager to the user entry" +#: ipaserver/plugins/trust.py:794 +msgid "trust type" msgstr "" -#: ipalib/plugins/user.py:1169 -msgid "Remove a manager to the user entry" +#: ipaserver/plugins/trust.py:795 +msgid "only \"ad\" is supported" msgstr "" -#: ipalib/plugins/vault.py:61 -msgid "" -"\n" -"Vaults\n" +#: ipaserver/plugins/trust.py:801 +msgid "domain" msgstr "" -#: ipalib/plugins/vault.py:63 +#: ipaserver/plugins/trust.py:802 msgid "" -"\n" -"Manage vaults.\n" +"Cannot establish a trust to AD deployed in the same domain as IPA. Such " +"setup is not supported." msgstr "" -#: ipalib/plugins/vault.py:65 -msgid "" -"\n" -"Vault is a secure place to store a secret.\n" +#: ipaserver/plugins/trust.py:813 +msgid "Realm-domain mismatch" msgstr "" -#: ipalib/plugins/vault.py:67 +#: ipaserver/plugins/trust.py:814 msgid "" -"\n" -"Based on the ownership there are three vault categories:\n" -"* user/private vault\n" -"* service vault\n" -"* shared vault\n" +"To establish trust with Active Directory, the domain name and the realm name " +"of the IPA server must match" msgstr "" -#: ipalib/plugins/vault.py:72 +#: ipaserver/plugins/trust.py:840 +#, python-format msgid "" -"\n" -"User vaults are vaults owned used by a particular user. Private\n" -"vaults are vaults owned the current user. Service vaults are\n" -"vaults owned by a service. Shared vaults are owned by the admin\n" -"but they can be used by other users or services.\n" +"Trusted domain %(domain)s is included among IPA realm domains. It needs to " +"be removed prior to establishing the trust. See the \"ipa realmdomains-mod --" +"del-domain\" command." msgstr "" -#: ipalib/plugins/vault.py:77 -msgid "" -"\n" -"Based on the security mechanism there are three types of\n" -"vaults:\n" -"* standard vault\n" -"* symmetric vault\n" -"* asymmetric vault\n" +#: ipaserver/plugins/trust.py:861 +msgid "Trusted domain and administrator account use different realms" msgstr "" -#: ipalib/plugins/vault.py:83 -msgid "" -"\n" -"Standard vault uses a secure mechanism to transport and\n" -"store the secret. The secret can only be retrieved by users\n" -"that have access to the vault.\n" +#: ipaserver/plugins/trust.py:870 +msgid "Realm administrator password should be specified" msgstr "" -#: ipalib/plugins/vault.py:87 -msgid "" -"\n" -"Symmetric vault is similar to the standard vault, but it\n" -"pre-encrypts the secret using a password before transport.\n" -"The secret can only be retrieved using the same password.\n" +#: ipaserver/plugins/trust.py:891 +msgid "id range type" msgstr "" -#: ipalib/plugins/vault.py:91 +#: ipaserver/plugins/trust.py:893 msgid "" -"\n" -"Asymmetric vault is similar to the standard vault, but it\n" -"pre-encrypts the secret using a public key before transport.\n" -"The secret can only be retrieved using the private key.\n" +"Only the ipa-ad-trust and ipa-ad-trust-posix are allowed values for --range-" +"type when adding an AD trust." msgstr "" -#: ipalib/plugins/vault.py:97 -msgid "" -"\n" -" List vaults:\n" -" ipa vault-find\n" -" [--user |--service |--shared]\n" +#: ipaserver/plugins/trust.py:903 +msgid "id range" msgstr "" -#: ipalib/plugins/vault.py:101 +#: ipaserver/plugins/trust.py:905 msgid "" -"\n" -" Add a standard vault:\n" -" ipa vault-add \n" -" [--user |--service |--shared]\n" -" --type standard\n" +"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/vault.py:106 -msgid "" -"\n" -" Add a symmetric vault:\n" -" ipa vault-add \n" -" [--user |--service |--shared]\n" -" --type symmetric --password-file password.txt\n" +#: ipaserver/plugins/trust.py:927 +msgid "range exists" msgstr "" -#: ipalib/plugins/vault.py:111 +#: ipaserver/plugins/trust.py:929 msgid "" -"\n" -" Add an asymmetric vault:\n" -" ipa vault-add \n" -" [--user |--service |--shared]\n" -" --type asymmetric --public-key-file public.pem\n" +"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/vault.py:116 -msgid "" -"\n" -" Show a vault:\n" -" ipa vault-show \n" -" [--user |--service |--shared]\n" +#: ipaserver/plugins/trust.py:936 +msgid "range type change" msgstr "" -#: ipalib/plugins/vault.py:120 +#: ipaserver/plugins/trust.py:937 msgid "" -"\n" -" Modify vault description:\n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --desc \n" +"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/vault.py:125 -msgid "" -"\n" -" Modify vault type:\n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --type \n" -" [old password/private key]\n" -" [new password/public key]\n" +#: ipaserver/plugins/trust.py:975 +#, python-format +msgid "Unable to resolve domain controller for '%s' domain. " msgstr "" -#: ipalib/plugins/vault.py:132 +#: ipaserver/plugins/trust.py:981 msgid "" -"\n" -" Modify symmetric vault password:\n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --change-password\n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --old-password \n" -" --new-password \n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --old-password-file \n" -" --new-password-file \n" +"Forward policy is defined for it in IPA DNS, perhaps forwarder points to " +"incorrect host?" msgstr "" -#: ipalib/plugins/vault.py:145 +#: ipaserver/plugins/trust.py:984 +#, python-format msgid "" -"\n" -" Modify asymmetric vault keys:\n" -" ipa vault-mod \n" -" [--user |--service |--shared]\n" -" --private-key-file \n" -" --public-key-file \n" +"IPA manages DNS, please verify your DNS configuration and make sure that " +"service records of the '%(domain)s' domain can be resolved. Examples how to " +"configure DNS with CLI commands or the Web UI can be found in the " +"documentation. " msgstr "" -#: ipalib/plugins/vault.py:151 +#: ipaserver/plugins/trust.py:994 +#, python-format msgid "" -"\n" -" Delete a vault:\n" -" ipa vault-del \n" -" [--user |--service |--shared]\n" +"Since IPA does not manage DNS records, ensure DNS is configured to resolve " +"'%(domain)s' domain from IPA hosts and back." msgstr "" -#: ipalib/plugins/vault.py:155 -msgid "" -"\n" -" Display vault configuration:\n" -" ipa vaultconfig-show\n" +#: ipaserver/plugins/trust.py:1001 +msgid "Unable to verify write permissions to the AD" msgstr "" -#: ipalib/plugins/vault.py:158 -msgid "" -"\n" -" Archive data into standard vault:\n" -" ipa vault-archive \n" -" [--user |--service |--shared]\n" -" --in \n" +#: ipaserver/plugins/trust.py:1035 +msgid "Not enough arguments specified to perform trust setup" +msgstr "" + +#: ipaserver/plugins/trust.py:1040 +msgid "Delete a trust." msgstr "" -#: ipalib/plugins/vault.py:163 -msgid "" -"\n" -" Archive data into symmetric vault:\n" -" ipa vault-archive \n" -" [--user |--service |--shared]\n" -" --in \n" -" --password-file password.txt\n" +#: ipaserver/plugins/trust.py:1042 +#, python-format +msgid "Deleted trust \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:169 +#: ipaserver/plugins/trust.py:1046 msgid "" "\n" -" Archive data into asymmetric vault:\n" -" ipa vault-archive \n" -" [--user |--service |--shared]\n" -" --in \n" +" Modify a trust (for future use).\n" +"\n" +" Currently only the default option to modify the LDAP attributes is\n" +" available. More specific options will be added in coming releases.\n" +" " msgstr "" -#: ipalib/plugins/vault.py:174 -msgid "" -"\n" -" Retrieve data from standard vault:\n" -" ipa vault-retrieve \n" -" [--user |--service |--shared]\n" -" --out \n" +#: ipaserver/plugins/trust.py:1053 +#, python-format +msgid "Modified trust \"%(value)s\" (change will be effective in 60 seconds)" msgstr "" -#: ipalib/plugins/vault.py:179 -msgid "" -"\n" -" Retrieve data from symmetric vault:\n" -" ipa vault-retrieve \n" -" [--user |--service |--shared]\n" -" --out \n" -" --password-file password.txt\n" +#: ipaserver/plugins/trust.py:1065 +msgid "Search for trusts." msgstr "" -#: ipalib/plugins/vault.py:185 -msgid "" -"\n" -" Retrieve data from asymmetric vault:\n" -" ipa vault-retrieve \n" -" [--user |--service |--shared]\n" -" --out --private-key-file private.pem\n" +#: ipaserver/plugins/trust.py:1070 +#, python-format +msgid "%(count)d trust matched" +msgid_plural "%(count)d trusts matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/trust.py:1104 +msgid "Display information about a trust." msgstr "" -#: ipalib/plugins/vault.py:190 -msgid "" -"\n" -" Add vault owners:\n" -" ipa vault-add-owner \n" -" [--user |--service |--shared]\n" -" [--users ] [--groups ] [--services ]\n" +#: ipaserver/plugins/trust.py:1150 +msgid "trust configuration" msgstr "" -#: ipalib/plugins/vault.py:195 -msgid "" -"\n" -" Delete vault owners:\n" -" ipa vault-remove-owner \n" -" [--user |--service |--shared]\n" -" [--users ] [--groups ] [--services ]\n" +#: ipaserver/plugins/trust.py:1156 ipaserver/plugins/trust.py:1157 +msgid "Global Trust Configuration" msgstr "" -#: ipalib/plugins/vault.py:200 -msgid "" -"\n" -" Add vault members:\n" -" ipa vault-add-member \n" -" [--user |--service |--shared]\n" -" [--users ] [--groups ] [--services ]\n" +#: ipaserver/plugins/trust.py:1165 +msgid "Security Identifier" msgstr "" -#: ipalib/plugins/vault.py:205 -msgid "" -"\n" -" Delete vault members:\n" -" ipa vault-remove-member \n" -" [--user |--service |--shared]\n" -" [--users ] [--groups ] [--services ]\n" +#: ipaserver/plugins/trust.py:1169 +msgid "NetBIOS name" msgstr "" -#: ipalib/plugins/vault.py:225 ipalib/plugins/vault.py:1551 -#, python-format -msgid "Cannot read file '%(filename)s': %(exc)s" +#: ipaserver/plugins/trust.py:1173 +msgid "Domain GUID" msgstr "" -#: ipalib/plugins/vault.py:232 -#, python-format -msgid "Cannot decode file '%(filename)s': %(exc)s" +#: ipaserver/plugins/trust.py:1178 +msgid "Fallback primary group" msgstr "" -#: ipalib/plugins/vault.py:246 -msgid "Service name of the service vault" +#: ipaserver/plugins/trust.py:1182 +msgid "IPA AD trust agents" msgstr "" -#: ipalib/plugins/vault.py:251 ipalib/plugins/vault.py:368 -#: ipalib/plugins/vault.py:681 -msgid "Shared vault" +#: ipaserver/plugins/trust.py:1183 +msgid "IPA servers configured as AD trust agents" msgstr "" -#: ipalib/plugins/vault.py:256 -msgid "Username of the user vault" +#: ipaserver/plugins/trust.py:1188 +msgid "IPA AD trust controllers" msgstr "" -#: ipalib/plugins/vault.py:284 -msgid "" -"\n" -" Vault Container object.\n" -" " +#: ipaserver/plugins/trust.py:1189 +msgid "IPA servers configured as AD trust controllers" msgstr "" -#: ipalib/plugins/vault.py:290 -msgid "vaultcontainer" +#: ipaserver/plugins/trust.py:1202 +msgid "unsupported trust type" msgstr "" -#: ipalib/plugins/vault.py:291 -msgid "vaultcontainers" +#: ipaserver/plugins/trust.py:1281 +msgid "Modify global trust configuration." msgstr "" -#: ipalib/plugins/vault.py:299 -msgid "Vault Containers" +#: ipaserver/plugins/trust.py:1284 +#, python-format +msgid "Modified \"%(value)s\" trust configuration" msgstr "" -#: ipalib/plugins/vault.py:300 -msgid "Vault Container" +#: ipaserver/plugins/trust.py:1304 +msgid "Show global trust configuration." msgstr "" -#: ipalib/plugins/vault.py:347 ipalib/plugins/vault.py:656 -msgid "Owner users" +#: ipaserver/plugins/trust.py:1333 +msgid "Resolve security identifiers of users and groups in trusted domains" msgstr "" -#: ipalib/plugins/vault.py:351 ipalib/plugins/vault.py:661 -msgid "Owner groups" +#: ipaserver/plugins/trust.py:1337 +msgid "Security Identifiers (SIDs)" msgstr "" -#: ipalib/plugins/vault.py:355 ipalib/plugins/vault.py:666 -msgid "Owner services" +#: ipaserver/plugins/trust.py:1343 +msgid "SID" msgstr "" -#: ipalib/plugins/vault.py:359 ipalib/plugins/vault.py:671 -msgid "Failed owners" +#: ipaserver/plugins/trust.py:1374 +msgid "Determine whether ipa-adtrust-install has been run on this system" msgstr "" -#: ipalib/plugins/vault.py:363 ipalib/plugins/vault.py:676 -msgid "Vault service" +#: ipaserver/plugins/trust.py:1401 +msgid "" +"Determine whether Schema Compatibility plugin is configured to serve trusted " +"domain users and groups" msgstr "" -#: ipalib/plugins/vault.py:373 ipalib/plugins/vault.py:686 -msgid "Vault user" +#: ipaserver/plugins/trust.py:1454 +msgid "Determine whether ipa-adtrust-install has been run with sidgen task" msgstr "" -#: ipalib/plugins/vault.py:389 -msgid "Service, shared and user options cannot be specified simultaneously" +#: ipaserver/plugins/trust.py:1470 +msgid "sidgen_was_run" msgstr "" -#: ipalib/plugins/vault.py:399 ipalib/plugins/vault.py:717 -msgid "Host is not supported" +#: ipaserver/plugins/trust.py:1472 +msgid "" +"This command relies on the existence of the \"editors\" group, but this " +"group was not found." msgstr "" -#: ipalib/plugins/vault.py:432 -msgid "Display information about a vault container." +#: ipaserver/plugins/trust.py:1491 +msgid "trust domain" msgstr "" -#: ipalib/plugins/vault.py:443 ipalib/plugins/vault.py:467 -#: ipalib/plugins/vault.py:1072 ipalib/plugins/vault.py:1111 -#: ipalib/plugins/vault.py:1168 ipalib/plugins/vault.py:1395 -#: ipalib/plugins/vault.py:1417 ipalib/plugins/vault.py:1469 -#: ipalib/plugins/vault.py:1721 ipalib/plugins/vault.py:1989 -msgid "KRA service is not enabled" +#: ipaserver/plugins/trust.py:1492 +msgid "trust domains" msgstr "" -#: ipalib/plugins/vault.py:454 -msgid "Delete a vault container." +#: ipaserver/plugins/trust.py:1500 +msgid "Trusted domains" msgstr "" -#: ipalib/plugins/vault.py:458 -msgid "Deleted vault container" +#: ipaserver/plugins/trust.py:1501 +msgid "Trusted domain" msgstr "" -#: ipalib/plugins/vault.py:478 -msgid "Add owners to a vault container." +#: ipaserver/plugins/trust.py:1505 +msgid "Domain name" msgstr "" -#: ipalib/plugins/vault.py:483 ipalib/plugins/vault.py:508 -#: ipalib/plugins/vault.py:2041 ipalib/plugins/vault.py:2066 -#, python-format -msgid "owner %s" +#: ipaserver/plugins/trust.py:1534 +msgid "Search domains of the trust" msgstr "" -#: ipalib/plugins/vault.py:491 ipalib/plugins/vault.py:2049 -msgid "Owners that could not be added" +#: ipaserver/plugins/trust.py:1537 +msgid "Domain enabled" msgstr "" -#: ipalib/plugins/vault.py:496 ipalib/plugins/vault.py:2054 -msgid "Number of owners added" +#: ipaserver/plugins/trust.py:1564 +msgid "Modify trustdomain of the trust" msgstr "" -#: ipalib/plugins/vault.py:503 -msgid "Remove owners from a vault container." +#: ipaserver/plugins/trust.py:1571 +msgid "Allow access from the trusted domain" msgstr "" -#: ipalib/plugins/vault.py:516 ipalib/plugins/vault.py:2074 -msgid "Owners that could not be removed" +#: ipaserver/plugins/trust.py:1584 +msgid "Remove infromation about the domain associated with the trust." msgstr "" -#: ipalib/plugins/vault.py:521 ipalib/plugins/vault.py:2079 -msgid "Number of owners removed" +#: ipaserver/plugins/trust.py:1586 +#, python-format +msgid "Removed information about the trusted domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:528 +#: ipaserver/plugins/trust.py:1601 msgid "" -"\n" -" Vault object.\n" -" " +"cannot delete root domain of the trust, use trust-del to delete the trust " +"itself" msgstr "" -#: ipalib/plugins/vault.py:534 -msgid "vault" +#: ipaserver/plugins/trust.py:1684 +msgid "Refresh list of the domains associated with the trust" msgstr "" -#: ipalib/plugins/vault.py:535 -msgid "vaults" +#: ipaserver/plugins/trust.py:1708 +msgid "" +"List of trust domains successfully refreshed. Use trustdomain-find command " +"to list them." msgstr "" -#: ipalib/plugins/vault.py:558 -msgid "Vaults" +#: ipaserver/plugins/trust.py:1725 +msgid "List of trust domains successfully refreshed" msgstr "" -#: ipalib/plugins/vault.py:559 -msgid "Vault" +#: ipaserver/plugins/trust.py:1727 +msgid "No new trust domains were found" msgstr "" -#: ipalib/plugins/vault.py:619 -msgid "Vault name" +#: ipaserver/plugins/trust.py:1736 +msgid "Allow use of IPA resources by the domain of the trust" msgstr "" -#: ipalib/plugins/vault.py:629 ipalib/plugins/vault.py:902 -#: ipalib/plugins/vault.py:1215 -msgid "Vault description" +#: ipaserver/plugins/trust.py:1739 +#, python-format +msgid "Enabled trust domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:635 ipalib/plugins/vault.py:908 -#: ipalib/plugins/vault.py:1220 -msgid "Vault type" +#: ipaserver/plugins/trust.py:1747 +msgid "Root domain of the trust is always enabled for the existing trust" msgstr "" -#: ipalib/plugins/vault.py:643 -msgid "Salt" +#: ipaserver/plugins/trust.py:1777 +msgid "Disable use of IPA resources by the domain of the trust" msgstr "" -#: ipalib/plugins/vault.py:644 ipalib/plugins/vault.py:1225 -msgid "Vault salt" +#: ipaserver/plugins/trust.py:1780 +#, python-format +msgid "Disabled trust domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:650 -msgid "Public key" +#: ipaserver/plugins/trust.py:1788 +msgid "" +"cannot disable root domain of the trust, use trust-del to delete the trust " +"itself" msgstr "" -#: ipalib/plugins/vault.py:651 ipalib/plugins/vault.py:926 -msgid "Vault public key" +#: ipaserver/plugins/user.py:73 +msgid "" +"\n" +"Users\n" +"\n" +"Manage user entries. All users are POSIX users.\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" +"Disabling a user account prevents that user from obtaining new Kerberos\n" +"credentials. It does not invalidate any credentials that have already\n" +"been issued.\n" +"\n" +"Password management is not a part of this module. For more information\n" +"about this topic please see: ipa help passwd\n" +"\n" +"Account lockout on password failure happens per IPA master. The user-status\n" +"command can be used to identify which master the user is locked out on.\n" +"It is on that master the administrator must unlock the user.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new user:\n" +" ipa user-add --first=Tim --last=User --password tuser1\n" +"\n" +" Find all users whose entries include the string \"Tim\":\n" +" ipa user-find Tim\n" +"\n" +" Find all users with \"Tim\" as the first name:\n" +" ipa user-find --first=Tim\n" +"\n" +" Disable a user account:\n" +" ipa user-disable tuser1\n" +"\n" +" Enable a user account:\n" +" ipa user-enable tuser1\n" +"\n" +" Delete a user:\n" +" ipa user-del tuser1\n" msgstr "" -#: ipalib/plugins/vault.py:702 -msgid "Service, shared, and user options cannot be specified simultaneously" +#: ipaserver/plugins/user.py:366 +msgid "Account disabled" msgstr "" -#: ipalib/plugins/vault.py:896 -msgid "Create a new vault." +#: ipaserver/plugins/user.py:370 +msgid "Preserved user" msgstr "" -#: ipalib/plugins/vault.py:916 ipalib/plugins/vault.py:1497 -#: ipalib/plugins/vault.py:1782 -msgid "Vault password" +#: ipaserver/plugins/user.py:422 +msgid "Add a new user." msgstr "" -#: ipalib/plugins/vault.py:921 ipalib/plugins/vault.py:1502 -#: ipalib/plugins/vault.py:1787 -msgid "File containing the vault password" +#: ipaserver/plugins/user.py:424 +#, python-format +msgid "Added user \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:931 -msgid "File containing the vault public key" +#: ipaserver/plugins/user.py:431 +msgid "Don't create user private group" msgstr "" -#: ipalib/plugins/vault.py:955 -msgid "Password can be specified only for symmetric vault" +#: ipaserver/plugins/user.py:507 +msgid "Default group for new users is not POSIX" msgstr "" -#: ipalib/plugins/vault.py:961 -msgid "Public key can be specified only for asymmetric vault" +#: ipaserver/plugins/user.py:598 +msgid "Delete a user." msgstr "" -#: ipalib/plugins/vault.py:981 ipalib/plugins/vault.py:1584 -#: ipalib/plugins/vault.py:1907 -msgid "Password specified multiple times" +#: ipaserver/plugins/user.py:600 +#, python-format +msgid "Deleted user \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:1003 -msgid "Public key specified multiple times" +#: ipaserver/plugins/user.py:618 +#, python-format +msgid "%s: user is already preserved" msgstr "" -#: ipalib/plugins/vault.py:1019 -msgid "Missing vault public key" +#: ipaserver/plugins/user.py:727 +msgid "Modify a user." msgstr "" -#: ipalib/plugins/vault.py:1031 +#: ipaserver/plugins/user.py:729 #, python-format -msgid "Invalid or unsupported vault public key: %s" +msgid "Modified user \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:1064 -#, python-format -msgid "Added vault \"%(value)s\"" +#: ipaserver/plugins/user.py:748 +msgid "Search for users." msgstr "" -#: ipalib/plugins/vault.py:1100 -msgid "Delete a vault." +#: ipaserver/plugins/user.py:759 +msgid "Self" msgstr "" -#: ipalib/plugins/vault.py:1104 -#, python-format -msgid "Deleted vault \"%(value)s\"" +#: ipaserver/plugins/user.py:760 +msgid "Display user record for current Kerberos principal" msgstr "" -#: ipalib/plugins/vault.py:1141 -msgid "Search for vaults." +#: ipaserver/plugins/user.py:805 +msgid "Display information about a user." msgstr "" -#: ipalib/plugins/vault.py:1146 -msgid "List all service vaults" +#: ipaserver/plugins/user.py:828 +msgid "Undelete a delete user account." msgstr "" -#: ipalib/plugins/vault.py:1150 -msgid "List all user vaults" +#: ipaserver/plugins/user.py:831 +#, python-format +msgid "Undeleted user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:1157 +#: ipaserver/plugins/user.py:845 #, python-format -msgid "%(count)d vault matched" -msgid_plural "%(count)d vaults matched" -msgstr[0] "" -msgstr[1] "" +msgid "user \"%s\" is already active" +msgstr "" -#: ipalib/plugins/vault.py:1175 -msgid "" -"Service(s), shared, and user(s) options cannot be specified simultaneously" +#: ipaserver/plugins/user.py:873 +msgid "Move deleted user into staged area" msgstr "" -#: ipalib/plugins/vault.py:1209 -msgid "Modify a vault." +#: ipaserver/plugins/user.py:876 +#, python-format +msgid "Staged user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:1229 -msgid "Change password" +#: ipaserver/plugins/user.py:923 +msgid "Disable a user account." msgstr "" -#: ipalib/plugins/vault.py:1234 -msgid "Old vault password" +#: ipaserver/plugins/user.py:926 +#, python-format +msgid "Disabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:1239 -msgid "File containing the old vault password" +#: ipaserver/plugins/user.py:944 +msgid "Enable a user account." msgstr "" -#: ipalib/plugins/vault.py:1244 -msgid "New vault password" +#: ipaserver/plugins/user.py:948 +#, python-format +msgid "Enabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:1249 -msgid "File containing the new vault password" +#: ipaserver/plugins/user.py:965 +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/vault.py:1254 -msgid "Old vault private key" +#: ipaserver/plugins/user.py:974 +#, python-format +msgid "Unlocked account \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:1259 -msgid "File containing the old vault private key" +#: ipaserver/plugins/user.py:994 +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/vault.py:1264 -msgid "New vault public key" +#: ipaserver/plugins/user.py:1049 +#, python-format +msgid "%(host)s failed: %(error)s" msgstr "" -#: ipalib/plugins/vault.py:1269 -msgid "File containing the new vault public key" +#: ipaserver/plugins/user.py:1085 +#, python-format +msgid "%(host)s failed" msgstr "" -#: ipalib/plugins/vault.py:1344 -msgid "New public key specified multiple times" +#: ipaserver/plugins/user.py:1095 +#, python-format +msgid "Account disabled: %(disabled)s" msgstr "" -#: ipalib/plugins/vault.py:1357 -msgid "Missing new vault public key" +#: ipaserver/plugins/user.py:1102 +msgid "Add one or more certificates to the user entry" msgstr "" -#: ipalib/plugins/vault.py:1386 +#: ipaserver/plugins/user.py:1103 #, python-format -msgid "Modified vault \"%(value)s\"" +msgid "Added certificates to user \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:1406 -msgid "Display information about a vault." +#: ipaserver/plugins/user.py:1124 +msgid "Remove one or more certificates to the user entry" msgstr "" -#: ipalib/plugins/vault.py:1428 -msgid "Vault configuration" +#: ipaserver/plugins/user.py:1125 +#, python-format +msgid "Removed certificates from user \"%(value)s\"" msgstr "" -#: ipalib/plugins/vault.py:1433 -msgid "Transport Certificate" +#: ipaserver/plugins/user.py:1146 +msgid "Add a manager to the user entry" msgstr "" -#: ipalib/plugins/vault.py:1440 -msgid "Show vault configuration." +#: ipaserver/plugins/user.py:1151 +msgid "Remove a manager to the user entry" msgstr "" -#: ipalib/plugins/vault.py:1445 -msgid "Output file to store the transport certificate" +#: ipaserver/plugins/vault.py:39 +msgid "" +"\n" +"Vaults\n" msgstr "" -#: ipalib/plugins/vault.py:1483 -msgid "Archive data into a vault." +#: ipaserver/plugins/vault.py:41 +msgid "" +"\n" +"Manage vaults.\n" msgstr "" -#: ipalib/plugins/vault.py:1488 -msgid "Binary data to archive" +#: ipaserver/plugins/vault.py:43 +msgid "" +"\n" +"Vault is a secure place to store a secret.\n" msgstr "" -#: ipalib/plugins/vault.py:1492 -msgid "File containing data to archive" +#: ipaserver/plugins/vault.py:45 +msgid "" +"\n" +"Based on the ownership there are three vault categories:\n" +"* user/private vault\n" +"* service vault\n" +"* shared vault\n" msgstr "" -#: ipalib/plugins/vault.py:1506 -msgid "Override existing password" +#: ipaserver/plugins/vault.py:50 +msgid "" +"\n" +"User vaults are vaults owned used by a particular user. Private\n" +"vaults are vaults owned the current user. Service vaults are\n" +"vaults owned by a service. Shared vaults are owned by the admin\n" +"but they can be used by other users or services.\n" msgstr "" -#: ipalib/plugins/vault.py:1537 -msgid "Input data specified multiple times" +#: ipaserver/plugins/vault.py:55 +msgid "" +"\n" +"Based on the security mechanism there are three types of\n" +"vaults:\n" +"* standard vault\n" +"* symmetric vault\n" +"* asymmetric vault\n" msgstr "" -#: ipalib/plugins/vault.py:1542 ipalib/plugins/vault.py:1555 -#, python-format +#: ipaserver/plugins/vault.py:61 msgid "" -"Size of data exceeds the limit. Current vault data size limit is %(limit)d B" +"\n" +"Standard vault uses a secure mechanism to transport and\n" +"store the secret. The secret can only be retrieved by users\n" +"that have access to the vault.\n" msgstr "" -#: ipalib/plugins/vault.py:1638 ipalib/plugins/vault.py:1957 -msgid "Invalid vault type" +#: ipaserver/plugins/vault.py:65 +msgid "" +"\n" +"Symmetric vault is similar to the standard vault, but it\n" +"pre-encrypts the secret using a password before transport.\n" +"The secret can only be retrieved using the same password.\n" msgstr "" -#: ipalib/plugins/vault.py:1701 ipalib/plugins/vault.py:1977 -msgid "Session key wrapped with transport certificate" +#: ipaserver/plugins/vault.py:69 +msgid "" +"\n" +"Asymmetric vault is similar to the standard vault, but it\n" +"pre-encrypts the secret using a public key before transport.\n" +"The secret can only be retrieved using the private key.\n" msgstr "" -#: ipalib/plugins/vault.py:1705 -msgid "Vault data encrypted with session key" +#: ipaserver/plugins/vault.py:75 +msgid "" +"\n" +" List vaults:\n" +" ipa vault-find\n" +" [--user |--service |--shared]\n" msgstr "" -#: ipalib/plugins/vault.py:1709 -msgid "Nonce" +#: ipaserver/plugins/vault.py:79 +msgid "" +"\n" +" Add a standard vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type standard\n" msgstr "" -#: ipalib/plugins/vault.py:1715 -#, python-format -msgid "Archived data into vault \"%(value)s\"" +#: ipaserver/plugins/vault.py:84 +msgid "" +"\n" +" Add a symmetric vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type symmetric --password-file password.txt\n" msgstr "" -#: ipalib/plugins/vault.py:1772 -msgid "Retrieve a data from a vault." +#: ipaserver/plugins/vault.py:89 +msgid "" +"\n" +" Add an asymmetric vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type asymmetric --public-key-file public.pem\n" msgstr "" -#: ipalib/plugins/vault.py:1777 -msgid "File to store retrieved data" +#: ipaserver/plugins/vault.py:94 +msgid "" +"\n" +" Show a vault:\n" +" ipa vault-show \n" +" [--user |--service |--shared]\n" msgstr "" -#: ipalib/plugins/vault.py:1792 -msgid "Vault private key" +#: ipaserver/plugins/vault.py:98 +msgid "" +"\n" +" Modify vault description:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --desc \n" msgstr "" -#: ipalib/plugins/vault.py:1797 -msgid "File containing the vault private key" +#: ipaserver/plugins/vault.py:103 +msgid "" +"\n" +" Modify vault type:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --type \n" +" [old password/private key]\n" +" [new password/public key]\n" msgstr "" -#: ipalib/plugins/vault.py:1932 -msgid "Private key specified multiple times" +#: ipaserver/plugins/vault.py:110 +msgid "" +"\n" +" Modify symmetric vault password:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --change-password\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --old-password \n" +" --new-password \n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --old-password-file \n" +" --new-password-file \n" msgstr "" -#: ipalib/plugins/vault.py:1945 -msgid "Missing vault private key" +#: ipaserver/plugins/vault.py:123 +msgid "" +"\n" +" Modify asymmetric vault keys:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --private-key-file \n" +" --public-key-file \n" msgstr "" -#: ipalib/plugins/vault.py:1983 -#, python-format -msgid "Retrieved data from vault \"%(value)s\"" +#: ipaserver/plugins/vault.py:129 +msgid "" +"\n" +" Delete a vault:\n" +" ipa vault-del \n" +" [--user |--service |--shared]\n" msgstr "" -#: ipalib/plugins/vault.py:2010 -msgid "No archived data." +#: ipaserver/plugins/vault.py:133 +msgid "" +"\n" +" Display vault configuration:\n" +" ipa vaultconfig-show\n" msgstr "" -#: ipalib/plugins/vault.py:2036 -msgid "Add owners to a vault." +#: ipaserver/plugins/vault.py:136 +msgid "" +"\n" +" Archive data into standard vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" msgstr "" -#: ipalib/plugins/vault.py:2061 -msgid "Remove owners from a vault." +#: ipaserver/plugins/vault.py:141 +msgid "" +"\n" +" Archive data into symmetric vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" +" --password-file password.txt\n" msgstr "" -#: ipalib/plugins/vault.py:2086 -msgid "Add members to a vault." +#: ipaserver/plugins/vault.py:147 +msgid "" +"\n" +" Archive data into asymmetric vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" msgstr "" -#: ipalib/plugins/vault.py:2093 -msgid "Remove members from a vault." +#: ipaserver/plugins/vault.py:152 +msgid "" +"\n" +" Retrieve data from standard vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out \n" msgstr "" -#: ipalib/plugins/virtual.py:52 -msgid "operation not defined" +#: ipaserver/plugins/vault.py:157 +msgid "" +"\n" +" Retrieve data from symmetric vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out \n" +" --password-file password.txt\n" msgstr "" -#: ipalib/plugins/virtual.py:65 -#, python-format -msgid "not allowed to perform operation: %s" +#: ipaserver/plugins/vault.py:163 +msgid "" +"\n" +" Retrieve data from asymmetric vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out --private-key-file private.pem\n" msgstr "" -#: ipalib/plugins/virtual.py:67 -msgid "No such virtual command" +#: ipaserver/plugins/vault.py:168 +msgid "" +"\n" +" Add vault owners:\n" +" ipa vault-add-owner \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" msgstr "" -#: ipalib/rpc.py:938 -msgid "any of the configured servers" +#: ipaserver/plugins/vault.py:173 +msgid "" +"\n" +" Delete vault owners:\n" +" ipa vault-remove-owner \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" msgstr "" -#: ipalib/session.py:778 ipalib/session.py:881 -msgid "could not allocate unique new session_id" +#: ipaserver/plugins/vault.py:178 +msgid "" +"\n" +" Add vault members:\n" +" ipa vault-add-member \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" msgstr "" -#: ipalib/util.py:174 -msgid "Filename is empty" +#: ipaserver/plugins/vault.py:183 +msgid "" +"\n" +" Delete vault members:\n" +" ipa vault-remove-member \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" msgstr "" -#: ipalib/util.py:178 -#, python-format -msgid "Permission denied: %(file)s" +#: ipaserver/plugins/vault.py:196 +msgid "Service name of the service vault" msgstr "" -#: ipalib/util.py:220 ipalib/util.py:728 -msgid "empty DNS label" +#: ipaserver/plugins/vault.py:201 ipaserver/plugins/vault.py:318 +#: ipaserver/plugins/vault.py:631 +msgid "Shared vault" msgstr "" -#: ipalib/util.py:223 -msgid "DNS label cannot be longer that 63 characters" +#: ipaserver/plugins/vault.py:206 +msgid "Username of the user vault" msgstr "" -#: ipalib/util.py:228 -#, python-format +#: ipaserver/plugins/vault.py:234 msgid "" -"only letters, numbers, %(chars)s are allowed. DNS label may not start or end " -"with %(chars2)s" +"\n" +" Vault Container object.\n" +" " msgstr "" -#: ipalib/util.py:247 -msgid "too many '@' characters" +#: ipaserver/plugins/vault.py:240 +msgid "vaultcontainer" msgstr "" -#: ipalib/util.py:263 -msgid "cannot be longer that 255 characters" +#: ipaserver/plugins/vault.py:241 +msgid "vaultcontainers" msgstr "" -#: ipalib/util.py:269 -msgid "hostname contains empty label (consecutive dots)" +#: ipaserver/plugins/vault.py:249 +msgid "Vault Containers" msgstr "" -#: ipalib/util.py:273 -msgid "not fully qualified" +#: ipaserver/plugins/vault.py:250 +msgid "Vault Container" msgstr "" -#: ipalib/util.py:285 ipalib/util.py:291 -msgid "invalid SSH public key" +#: ipaserver/plugins/vault.py:297 ipaserver/plugins/vault.py:606 +msgid "Owner users" msgstr "" -#: ipalib/util.py:294 -msgid "options are not allowed" +#: ipaserver/plugins/vault.py:301 ipaserver/plugins/vault.py:611 +msgid "Owner groups" msgstr "" -#: ipalib/util.py:530 -msgid "invalid hostmask" +#: ipaserver/plugins/vault.py:305 ipaserver/plugins/vault.py:616 +msgid "Owner services" msgstr "" -#: ipalib/util.py:542 -#, python-format -msgid "query '%(owner)s %(rtype)s': %(error)s" +#: ipaserver/plugins/vault.py:313 ipaserver/plugins/vault.py:626 +msgid "Vault service" msgstr "" -#: ipalib/util.py:546 -#, python-format -msgid "query '%(owner)s %(rtype)s' with EDNS0: %(error)s" +#: ipaserver/plugins/vault.py:323 ipaserver/plugins/vault.py:636 +msgid "Vault user" msgstr "" -#: ipalib/util.py:550 -#, python-format -msgid "" -"answer to query '%(owner)s %(rtype)s' is missing DNSSEC signatures (no RRSIG " -"data)" +#: ipaserver/plugins/vault.py:339 +msgid "Service, shared and user options cannot be specified simultaneously" msgstr "" -#: ipalib/util.py:555 -#, python-format -msgid "record '%(owner)s %(rtype)s' failed DNSSEC validation on server %(ip)s" +#: ipaserver/plugins/vault.py:349 ipaserver/plugins/vault.py:667 +msgid "Host is not supported" msgstr "" -#: ipalib/util.py:726 -msgid "invalid escape code in domain name" +#: ipaserver/plugins/vault.py:382 +msgid "Display information about a vault container." msgstr "" -#: ipalib/util.py:730 -msgid "domain name cannot be longer than 255 characters" +#: ipaserver/plugins/vault.py:393 ipaserver/plugins/vault.py:417 +#: ipaserver/plugins/vault.py:771 ipaserver/plugins/vault.py:810 +#: ipaserver/plugins/vault.py:867 ipaserver/plugins/vault.py:922 +#: ipaserver/plugins/vault.py:944 ipaserver/plugins/vault.py:986 +#: ipaserver/plugins/vault.py:1029 ipaserver/plugins/vault.py:1098 +msgid "KRA service is not enabled" msgstr "" -#: ipalib/util.py:732 -msgid "DNS label cannot be longer than 63 characters" +#: ipaserver/plugins/vault.py:404 +msgid "Delete a vault container." msgstr "" -#: ipalib/util.py:734 -msgid "invalid domain name" +#: ipaserver/plugins/vault.py:408 +msgid "Deleted vault container" msgstr "" -#: ipalib/util.py:747 -#, python-format -msgid "domain name '%(domain)s' should be normalized to: %(normalized)s" +#: ipaserver/plugins/vault.py:428 +msgid "Add owners to a vault container." msgstr "" -#: ipalib/x509.py:320 -msgid "improperly formatted DER-encoded certificate" +#: ipaserver/plugins/vault.py:433 ipaserver/plugins/vault.py:458 +#: ipaserver/plugins/vault.py:1150 ipaserver/plugins/vault.py:1175 +#, python-format +msgid "owner %s" msgstr "" -#: ipalib/x509.py:374 -#, python-format -msgid "Issuer \"%(issuer)s\" does not match the expected issuer" +#: ipaserver/plugins/vault.py:441 ipaserver/plugins/vault.py:1158 +msgid "Owners that could not be added" msgstr "" -#: ipapython/dogtag.py:85 -#, python-format -msgid "Retrieving CA cert chain failed: %s" +#: ipaserver/plugins/vault.py:446 ipaserver/plugins/vault.py:1163 +msgid "Number of owners added" msgstr "" -#: ipapython/dogtag.py:91 -#, python-format -msgid "request failed with HTTP status %d" +#: ipaserver/plugins/vault.py:453 +msgid "Remove owners from a vault container." msgstr "" -#: ipapython/dogtag.py:103 ipapython/dogtag.py:128 -#, python-format -msgid "Retrieving CA status failed: %s" +#: ipaserver/plugins/vault.py:466 ipaserver/plugins/vault.py:1183 +msgid "Owners that could not be removed" msgstr "" -#: ipapython/ipaldap.py:1018 -#, python-format -msgid "objectclass %s not found" +#: ipaserver/plugins/vault.py:471 ipaserver/plugins/vault.py:1188 +msgid "Number of owners removed" msgstr "" -#: ipaserver/dcerpc.py:68 +#: ipaserver/plugins/vault.py:478 msgid "" "\n" -"Classes to manage trust joins using DCE-RPC calls\n" -"\n" -"The code in this module relies heavily on samba4-python package\n" -"and Samba4 python bindings.\n" +" Vault object.\n" +" " msgstr "" -#: ipaserver/dcerpc.py:89 -msgid "CIFS server denied your credentials" +#: ipaserver/plugins/vault.py:484 +msgid "vault" msgstr "" -#: ipaserver/dcerpc.py:92 -msgid "communication with CIFS server was unsuccessful" +#: ipaserver/plugins/vault.py:485 +msgid "vaults" msgstr "" -#: ipaserver/dcerpc.py:97 -msgid "AD domain controller" +#: ipaserver/plugins/vault.py:508 +msgid "Vaults" msgstr "" -#: ipaserver/dcerpc.py:97 -msgid "unsupported functional level" +#: ipaserver/plugins/vault.py:509 +msgid "Vault" msgstr "" -#: ipaserver/dcerpc.py:100 -msgid "" -"AD domain controller complains about communication sequence. It may mean " -"unsynchronized time on both sides, for example" +#: ipaserver/plugins/vault.py:569 +msgid "Vault name" msgstr "" -#: ipaserver/dcerpc.py:104 -msgid "CIFS server configuration does not allow access to \\\\pipe\\lsarpc" +#: ipaserver/plugins/vault.py:579 +msgid "Vault description" msgstr "" -#: ipaserver/dcerpc.py:109 -msgid "Cannot find specified domain or server name" +#: ipaserver/plugins/vault.py:585 +msgid "Vault type" msgstr "" -#: ipaserver/dcerpc.py:111 -msgid "" -"AD DC was unable to reach any IPA domain controller. Most likely it is a DNS " -"or firewall issue" +#: ipaserver/plugins/vault.py:593 +msgid "Salt" msgstr "" -#: ipaserver/dcerpc.py:113 -msgid "At least the domain or IP address should be specified" +#: ipaserver/plugins/vault.py:594 +msgid "Vault salt" msgstr "" -#: ipaserver/dcerpc.py:133 -#, python-format -msgid "" -"CIFS server communication error: code \"%(num)s\",\n" -" message \"%(message)s\" (both may be \"None\")" +#: ipaserver/plugins/vault.py:600 +msgid "Public key" msgstr "" -#: ipaserver/dcerpc.py:242 -msgid "no trusted domain is configured" +#: ipaserver/plugins/vault.py:601 +msgid "Vault public key" msgstr "" -#: ipaserver/dcerpc.py:249 -msgid "domain is not configured" +#: ipaserver/plugins/vault.py:652 +msgid "Service, shared, and user options cannot be specified simultaneously" msgstr "" -#: ipaserver/dcerpc.py:256 -msgid "SID is not valid" +#: ipaserver/plugins/vault.py:763 +#, python-format +msgid "Added vault \"%(value)s\"" msgstr "" -#: ipaserver/dcerpc.py:271 -msgid "SID does not match exactlywith any trusted domain's SID" +#: ipaserver/plugins/vault.py:799 +msgid "Delete a vault." msgstr "" -#: ipaserver/dcerpc.py:282 -msgid "SID does not match any trusted domain" +#: ipaserver/plugins/vault.py:803 +#, python-format +msgid "Deleted vault \"%(value)s\"" msgstr "" -#: ipaserver/dcerpc.py:322 ipaserver/dcerpc.py:328 ipaserver/dcerpc.py:671 -msgid "Trust setup" +#: ipaserver/plugins/vault.py:840 +msgid "Search for vaults." msgstr "" -#: ipaserver/dcerpc.py:323 -msgid "Our domain is not configured" +#: ipaserver/plugins/vault.py:845 +msgid "List all service vaults" msgstr "" -#: ipaserver/dcerpc.py:329 -msgid "No trusted domain is not configured" +#: ipaserver/plugins/vault.py:849 +msgid "List all user vaults" msgstr "" -#: ipaserver/dcerpc.py:334 ipaserver/dcerpc.py:349 ipaserver/dcerpc.py:364 -#: ipaserver/dcerpc.py:371 ipaserver/dcerpc.py:383 ipaserver/dcerpc.py:390 -#: ipaserver/dcerpc.py:451 ipaserver/dcerpc.py:503 -msgid "trusted domain object" +#: ipaserver/plugins/vault.py:856 +#, python-format +msgid "%(count)d vault matched" +msgid_plural "%(count)d vaults matched" +msgstr[0] "" +msgstr[1] "" + +#: ipaserver/plugins/vault.py:874 +msgid "" +"Service(s), shared, and user(s) options cannot be specified simultaneously" msgstr "" -#: ipaserver/dcerpc.py:335 -msgid "domain is not trusted" +#: ipaserver/plugins/vault.py:913 +#, python-format +msgid "Modified vault \"%(value)s\"" msgstr "" -#: ipaserver/dcerpc.py:350 -msgid "no trusted domain matched the specified flat name" +#: ipaserver/plugins/vault.py:933 +msgid "Display information about a vault." msgstr "" -#: ipaserver/dcerpc.py:352 -msgid "trusted domain object not found" +#: ipaserver/plugins/vault.py:955 +msgid "Vault configuration" msgstr "" -#: ipaserver/dcerpc.py:365 -msgid "SSSD was unable to resolve the object to a valid SID" +#: ipaserver/plugins/vault.py:960 +msgid "Transport Certificate" msgstr "" -#: ipaserver/dcerpc.py:372 ipaserver/dcerpc.py:504 -msgid "Ambiguous search, user domain was not specified" +#: ipaserver/plugins/vault.py:964 +msgid "IPA KRA servers" msgstr "" -#: ipaserver/dcerpc.py:384 ipaserver/dcerpc.py:452 -msgid "Trusted domain did not return a unique object" +#: ipaserver/plugins/vault.py:965 +msgid "IPA servers configured as key recovery agents" msgstr "" -#: ipaserver/dcerpc.py:391 -msgid "Trusted domain did not return a valid SID for the object" +#: ipaserver/plugins/vault.py:973 +msgid "Show vault configuration." msgstr "" -#: ipaserver/dcerpc.py:489 ipaserver/dcerpc.py:499 -msgid "trusted domain user not found" +#: ipaserver/plugins/vault.py:978 +msgid "Output file to store the transport certificate" msgstr "" -#: ipaserver/dcerpc.py:672 -msgid "Cannot retrieve trusted domain GC list" +#: ipaserver/plugins/vault.py:1009 ipaserver/plugins/vault.py:1086 +msgid "Session key wrapped with transport certificate" msgstr "" -#: ipaserver/dcerpc.py:816 -msgid "CIFS credentials object" +#: ipaserver/plugins/vault.py:1013 +msgid "Vault data encrypted with session key" msgstr "" -#: ipaserver/dcerpc.py:854 -#, python-format -msgid "CIFS server %(host)s denied your credentials" +#: ipaserver/plugins/vault.py:1017 +msgid "Nonce" msgstr "" -#: ipaserver/dcerpc.py:858 +#: ipaserver/plugins/vault.py:1023 #, python-format -msgid "Cannot establish LSA connection to %(host)s. Is CIFS server running?" +msgid "Archived data into vault \"%(value)s\"" msgstr "" -#: ipaserver/dcerpc.py:1056 +#: ipaserver/plugins/vault.py:1092 #, python-format -msgid "" -"the IPA server and the remote domain cannot share the same NetBIOS name: %s" +msgid "Retrieved data from vault \"%(value)s\"" msgstr "" -#: ipaserver/dcerpc.py:1157 -#, 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. Additionally, please check that AD DNS is able to resolve %(records)s " -"SRV records to the correct IPA server." +#: ipaserver/plugins/vault.py:1119 +msgid "No archived data." msgstr "" -#: ipaserver/install/certs.py:408 -#, python-format -msgid "Unable to communicate with CMS (%s)" +#: ipaserver/plugins/vault.py:1145 +msgid "Add owners to a vault." msgstr "" -#: ipaserver/plugins/dogtag.py:1325 -msgid "Unable to communicate with CMS" +#: ipaserver/plugins/vault.py:1170 +msgid "Remove owners from a vault." msgstr "" -#: ipaserver/plugins/dogtag.py:1859 -msgid "find not supported on CAs upgraded from 9 to 10" +#: ipaserver/plugins/vault.py:1195 +msgid "Add members to a vault." msgstr "" -#: ipaserver/plugins/dogtag.py:2044 -msgid "Failed to authenticate to CA REST API" +#: ipaserver/plugins/vault.py:1202 +msgid "Remove members from a vault." msgstr "" -#: ipaserver/plugins/dogtag.py:2069 -msgid "REST API is not logged in." +#: ipaserver/plugins/virtual.py:51 +msgid "operation not defined" msgstr "" -#: ipaserver/plugins/dogtag.py:2086 +#: ipaserver/plugins/virtual.py:64 #, python-format -msgid "" -"Non-2xx response from CA REST API: %(status)d %(status_text)s. " -"%(explanation)s" +msgid "not allowed to perform operation: %s" msgstr "" -#: ipaserver/plugins/join.py:53 -msgid "The hostname to register as" +#: ipaserver/plugins/virtual.py:66 +msgid "No such virtual command" msgstr "" -#: ipaserver/plugins/join.py:62 -msgid "The IPA realm" +#: ipaserver/rpcserver.py:480 +msgid "Request must be a dict" msgstr "" -#: ipaserver/plugins/join.py:68 -msgid "Hardware platform of the host (e.g. Lenovo T61)" +#: ipaserver/rpcserver.py:482 +msgid "Request is missing \"method\"" msgstr "" -#: ipaserver/plugins/join.py:72 -msgid "Operating System and version of the host (e.g. Fedora 9)" +#: ipaserver/rpcserver.py:484 +msgid "Request is missing \"params\"" msgstr "" -#: ipaserver/plugins/join.py:112 -#, python-format -msgid "" -"Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry " -"'%s'." +#: ipaserver/rpcserver.py:490 +msgid "params must be a list" msgstr "" -#: ipaserver/plugins/ldap2.py:268 -msgid "Could not read UPG Definition originfilter. Check your permissions." +#: ipaserver/rpcserver.py:492 +msgid "params must contain [args, options]" msgstr "" -#: ipaserver/rpcserver.py:479 -msgid "Request must be a dict" +#: ipaserver/rpcserver.py:495 +msgid "params[0] (aka args) must be a list" msgstr "" -#: ipaserver/rpcserver.py:481 -msgid "Request is missing \"method\"" +#: ipaserver/rpcserver.py:498 +msgid "params[1] (aka options) must be a dict" msgstr "" -#: ipaserver/rpcserver.py:483 -msgid "Request is missing \"params\"" +#: ipaserver/servroles.py:290 +#, python-format +msgid "all masters must have %(role)s role enabled" msgstr "" -#: ipaserver/rpcserver.py:489 -msgid "params must be a list" +#: ipaserver/servroles.py:374 +#, python-format +msgid "must have %(role)s role enabled" msgstr "" -#: ipaserver/rpcserver.py:491 -msgid "params must contain [args, options]" +#: ipaserver/topology.py:14 +#, python-format +msgid "" +"\n" +"Replication topology in suffix '%(suffix)s' is disconnected:\n" +"%(errors)s" msgstr "" -#: ipaserver/rpcserver.py:494 -msgid "params[0] (aka args) must be a list" +#: ipaserver/topology.py:18 +#, python-format +msgid "" +"\n" +"Removal of '%(hostname)s' leads to disconnected topology in suffix " +"'%(suffix)s':\n" +"%(errors)s" msgstr "" -#: ipaserver/rpcserver.py:497 -msgid "params[1] (aka options) must be a dict" +#: ipaserver/topology.py:118 +#, python-format +msgid "Topology does not allow server %(server)s to replicate with servers:" msgstr "" -#: ipa-client/config.c:56 +#: client/config.c:56 #, c-format msgid "cannot open configuration file %s\n" msgstr "" -#: ipa-client/config.c:63 +#: client/config.c:63 #, c-format msgid "cannot stat() configuration file %s\n" msgstr "" -#: ipa-client/config.c:69 +#: client/config.c:69 #, c-format msgid "out of memory\n" msgstr "" -#: ipa-client/config.c:80 +#: client/config.c:80 #, c-format msgid "read error\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:64 +#: client/ipa-getkeytab.c:64 #, c-format msgid "Kerberos context initialization failed: %1$s (%2$d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:75 +#: client/ipa-getkeytab.c:75 #, c-format msgid "Unable to parse principal: %1$s (%2$d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:130 +#: client/ipa-getkeytab.c:130 #, c-format msgid "No keys accepted by KDC\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:145 +#: client/ipa-getkeytab.c:145 #, c-format msgid "Out of memory \n" msgstr "" -#: ipa-client/ipa-getkeytab.c:171 +#: client/ipa-getkeytab.c:171 #, c-format msgid "Unable to set LDAP_OPT_X_TLS_CERTIFICATE\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:177 +#: client/ipa-getkeytab.c:177 #, c-format msgid "Unable to init for ldaps(636) connection\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:184 +#: client/ipa-getkeytab.c:184 #, c-format msgid "Unable to set LDAP_OPT_X_TLS\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:190 +#: client/ipa-getkeytab.c:190 #, c-format msgid "Unable to init for ldap(389) connection\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:196 +#: client/ipa-getkeytab.c:196 #, c-format msgid "Unable to initialize ldap library!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:204 ipa-client/ipa-join.c:243 +#: client/ipa-getkeytab.c:204 client/ipa-join.c:243 #, c-format msgid "Unable to set LDAP_OPT_X_SASL_NOCANON\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:212 +#: client/ipa-getkeytab.c:212 #, c-format msgid "Unable to set LDAP_OPT_PROTOCOL_VERSION\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:223 +#: client/ipa-getkeytab.c:223 #, c-format msgid "Simple bind failed\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:266 +#: client/ipa-getkeytab.c:266 #, c-format msgid "Operation failed: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:275 +#: client/ipa-getkeytab.c:275 #, c-format msgid "Failed to get result: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:281 +#: client/ipa-getkeytab.c:279 +#, c-format +msgid "Timeout exceeded." +msgstr "" + +#: client/ipa-getkeytab.c:285 #, c-format msgid "Failed to parse extended result: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:288 +#: client/ipa-getkeytab.c:292 #, c-format msgid "Failed to parse result: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:307 +#: client/ipa-getkeytab.c:311 #, c-format msgid "Missing reply control list!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:317 +#: client/ipa-getkeytab.c:321 #, c-format msgid "Missing reply control!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:357 +#: client/ipa-getkeytab.c:361 #, c-format msgid "Out of Memory!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:364 ipa-client/ipa-getkeytab.c:523 +#: client/ipa-getkeytab.c:368 client/ipa-getkeytab.c:527 #, c-format msgid "Failed to create control!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:370 ipa-client/ipa-getkeytab.c:530 +#: client/ipa-getkeytab.c:374 client/ipa-getkeytab.c:534 #, c-format msgid "Failed to bind to server!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:377 +#: client/ipa-getkeytab.c:381 #, c-format msgid "Failed to get keytab!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:386 +#: client/ipa-getkeytab.c:390 #, c-format msgid "ber_init() failed, Invalid control ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:405 +#: client/ipa-getkeytab.c:409 #, c-format msgid "ber_scanf() failed, unable to find kvno ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:417 +#: client/ipa-getkeytab.c:421 #, c-format msgid "Failed to retrieve encryption type type #%d\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:421 +#: client/ipa-getkeytab.c:425 #, c-format msgid "Failed to retrieve encryption type %1$s (#%2$d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:431 +#: client/ipa-getkeytab.c:435 #, c-format msgid "Failed to retrieve any keys" msgstr "" -#: ipa-client/ipa-getkeytab.c:545 +#: client/ipa-getkeytab.c:549 msgid "Failed to decode control reply!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:573 +#: client/ipa-getkeytab.c:577 msgid "New Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:579 +#: client/ipa-getkeytab.c:583 msgid "Verify Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:612 +#: client/ipa-getkeytab.c:616 #, c-format msgid "Failed to open config file %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:622 +#: client/ipa-getkeytab.c:626 #, c-format msgid "Failed to parse config file %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:689 +#: client/ipa-getkeytab.c:693 msgid "Print as little as possible" msgstr "" -#: ipa-client/ipa-getkeytab.c:689 +#: client/ipa-getkeytab.c:693 msgid "Output only on errors" msgstr "" -#: ipa-client/ipa-getkeytab.c:691 +#: client/ipa-getkeytab.c:695 msgid "Contact this specific KDC Server" msgstr "" -#: ipa-client/ipa-getkeytab.c:692 +#: client/ipa-getkeytab.c:696 msgid "Server Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:694 +#: client/ipa-getkeytab.c:698 msgid "The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)" msgstr "" -#: ipa-client/ipa-getkeytab.c:695 ipa-client/ipa-rmkeytab.c:172 +#: client/ipa-getkeytab.c:699 client/ipa-rmkeytab.c:172 msgid "Kerberos Service Principal Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:697 +#: client/ipa-getkeytab.c:701 msgid "File were to store the keytab information" msgstr "" -#: ipa-client/ipa-getkeytab.c:698 ipa-client/ipa-rmkeytab.c:174 +#: client/ipa-getkeytab.c:702 client/ipa-rmkeytab.c:174 msgid "Keytab File Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:700 +#: client/ipa-getkeytab.c:704 msgid "Encryption types to request" msgstr "" -#: ipa-client/ipa-getkeytab.c:701 +#: client/ipa-getkeytab.c:705 msgid "Comma separated encryption types list" msgstr "" -#: ipa-client/ipa-getkeytab.c:703 +#: client/ipa-getkeytab.c:707 msgid "Show the list of permitted encryption types and exit" msgstr "" -#: ipa-client/ipa-getkeytab.c:704 +#: client/ipa-getkeytab.c:708 msgid "Permitted Encryption Types" msgstr "" -#: ipa-client/ipa-getkeytab.c:706 +#: client/ipa-getkeytab.c:710 msgid "Asks for a non-random password to use for the principal" msgstr "" -#: ipa-client/ipa-getkeytab.c:708 +#: client/ipa-getkeytab.c:712 msgid "LDAP DN" msgstr "" -#: ipa-client/ipa-getkeytab.c:708 +#: client/ipa-getkeytab.c:712 msgid "DN to bind as if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:710 +#: client/ipa-getkeytab.c:714 msgid "LDAP password" msgstr "" -#: ipa-client/ipa-getkeytab.c:710 +#: client/ipa-getkeytab.c:714 msgid "password to use if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:712 +#: client/ipa-getkeytab.c:716 msgid "Retrieve current keys without changing them" msgstr "" -#: ipa-client/ipa-getkeytab.c:737 ipa-client/ipa-rmkeytab.c:190 +#: client/ipa-getkeytab.c:741 client/ipa-rmkeytab.c:190 #, c-format msgid "Kerberos context initialization failed\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:750 util/ipa_krb5.c:878 +#: client/ipa-getkeytab.c:754 util/ipa_krb5.c:878 #, c-format msgid "No system preferred enctypes ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:753 +#: client/ipa-getkeytab.c:757 #, c-format msgid "Supported encryption types:\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:757 +#: client/ipa-getkeytab.c:761 #, c-format msgid "Warning: failed to convert type (#%d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:776 +#: client/ipa-getkeytab.c:780 #, c-format msgid "Bind password required when using a bind DN.\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:792 +#: client/ipa-getkeytab.c:796 #, c-format msgid "Server name not provided and unavailable\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:798 +#: client/ipa-getkeytab.c:802 #, c-format msgid "Incompatible options provided (-r and -P)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:809 +#: client/ipa-getkeytab.c:813 #, c-format msgid "" "Warning: salt types are not honored with randomized passwords (see opt. -P)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:821 +#: client/ipa-getkeytab.c:825 #, c-format msgid "Invalid Service Principal Name\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:829 +#: client/ipa-getkeytab.c:833 #, c-format msgid "Kerberos Credential Cache not found. Do you have a Kerberos Ticket?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:837 +#: client/ipa-getkeytab.c:841 #, c-format msgid "" "Kerberos User Principal not found. Do you have a valid Credential Cache?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:845 +#: client/ipa-getkeytab.c:849 #, c-format msgid "Failed to open Keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:862 +#: client/ipa-getkeytab.c:866 #, c-format msgid "Retrying with pre-4.0 keytab retrieval method...\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:872 +#: client/ipa-getkeytab.c:876 #, c-format msgid "Failed to create key material\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:880 +#: client/ipa-getkeytab.c:884 #, c-format msgid "Failed to get keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:894 +#: client/ipa-getkeytab.c:898 #, c-format msgid "Failed to add key to the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:903 +#: client/ipa-getkeytab.c:907 #, c-format msgid "Failed to close the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:909 +#: client/ipa-getkeytab.c:913 #, c-format msgid "Keytab successfully retrieved and stored in: %s\n" msgstr "" -#: ipa-client/ipa-join.c:65 +#: client/ipa-join.c:65 #, c-format msgid "No permission to join this host to the IPA domain.\n" msgstr "" -#: ipa-client/ipa-join.c:94 ipa-client/ipa-join.c:106 +#: client/ipa-join.c:94 client/ipa-join.c:106 #, c-format msgid "No write permissions on keytab file '%s'\n" msgstr "" -#: ipa-client/ipa-join.c:111 +#: client/ipa-join.c:111 #, c-format 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:223 +#: client/ipa-join.c:134 client/ipa-join.c:163 client/ipa-join.c:223 #, c-format msgid "Out of memory!" msgstr "" -#: ipa-client/ipa-join.c:230 +#: client/ipa-join.c:230 #, c-format msgid "Unable to initialize connection to ldap server: %s" msgstr "" -#: ipa-client/ipa-join.c:236 +#: client/ipa-join.c:236 #, c-format msgid "Unable to enable SSL in LDAP\n" msgstr "" -#: ipa-client/ipa-join.c:249 +#: client/ipa-join.c:249 #, c-format msgid "Unable to set LDAP version\n" msgstr "" -#: ipa-client/ipa-join.c:269 +#: client/ipa-join.c:269 #, c-format msgid "Bind failed: %s\n" msgstr "" -#: ipa-client/ipa-join.c:340 +#: 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:360 ipa-client/ipa-join.c:431 +#: client/ipa-join.c:360 client/ipa-join.c:431 #, c-format msgid "No values for %s" msgstr "" -#: ipa-client/ipa-join.c:370 +#: client/ipa-join.c:370 #, c-format msgid "Search for IPA namingContext failed with error %d\n" msgstr "" -#: ipa-client/ipa-join.c:376 +#: client/ipa-join.c:376 #, c-format msgid "IPA namingContext not found\n" msgstr "" -#: 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 +#: client/ipa-join.c:411 client/ipa-join.c:484 client/ipa-join.c:502 +#: client/ipa-join.c:599 client/ipa-join.c:805 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 +#: client/ipa-join.c:422 #, c-format msgid "Search for ipaCertificateSubjectBase failed with error %d" msgstr "" -#: ipa-client/ipa-join.c:491 +#: client/ipa-join.c:491 #, c-format msgid "Unable to determine root DN of %s\n" msgstr "" -#: ipa-client/ipa-join.c:509 +#: client/ipa-join.c:509 #, c-format msgid "Incorrect password.\n" msgstr "" -#: ipa-client/ipa-join.c:517 +#: client/ipa-join.c:517 #, c-format msgid "Unable to determine certificate subject of %s\n" msgstr "" -#: ipa-client/ipa-join.c:533 +#: client/ipa-join.c:533 #, c-format msgid "Enrollment failed. %s\n" msgstr "" -#: ipa-client/ipa-join.c:658 +#: client/ipa-join.c:658 #, c-format msgid "principal not found in XML-RPC response\n" msgstr "" -#: ipa-client/ipa-join.c:673 +#: client/ipa-join.c:673 #, c-format msgid "Host is already joined.\n" msgstr "" -#: ipa-client/ipa-join.c:748 ipa-client/ipa-join.c:956 +#: client/ipa-join.c:748 client/ipa-join.c:956 #, c-format msgid "Unable to determine IPA server from %s\n" msgstr "" -#: ipa-client/ipa-join.c:769 ipa-client/ipa-join.c:971 +#: client/ipa-join.c:769 client/ipa-join.c:971 #, c-format msgid "The hostname must be fully-qualified: %s\n" msgstr "" -#: ipa-client/ipa-join.c:778 ipa-client/ipa-join.c:987 +#: client/ipa-join.c:778 client/ipa-join.c:987 #, c-format msgid "Unable to join host: Kerberos context initialization failed\n" msgstr "" -#: ipa-client/ipa-join.c:786 +#: client/ipa-join.c:786 #, c-format msgid "Error resolving keytab: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:795 +#: client/ipa-join.c:795 #, c-format msgid "Error getting default Kerberos realm: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:813 +#: client/ipa-join.c:813 #, c-format msgid "Error parsing \"%1$s\": %2$s.\n" msgstr "" -#: ipa-client/ipa-join.c:832 +#: client/ipa-join.c:832 #, c-format msgid "Error obtaining initial credentials: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:844 +#: client/ipa-join.c:844 #, c-format msgid "Unable to generate Kerberos Credential Cache\n" msgstr "" -#: ipa-client/ipa-join.c:852 +#: client/ipa-join.c:852 #, c-format msgid "Error storing creds in credential cache: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:900 +#: client/ipa-join.c:900 #, c-format msgid "Unenrollment successful.\n" msgstr "" -#: ipa-client/ipa-join.c:903 +#: client/ipa-join.c:903 #, c-format msgid "Unenrollment failed.\n" msgstr "" -#: ipa-client/ipa-join.c:908 +#: client/ipa-join.c:908 #, c-format msgid "result not found in XML-RPC response\n" msgstr "" -#: ipa-client/ipa-join.c:977 +#: client/ipa-join.c:977 #, c-format msgid "The hostname must not be: %s\n" msgstr "" -#: ipa-client/ipa-join.c:994 +#: client/ipa-join.c:994 #, c-format msgid "Unable to join host: Kerberos Credential Cache not found\n" msgstr "" -#: ipa-client/ipa-join.c:1002 +#: 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:1017 +#: client/ipa-join.c:1017 #, c-format msgid "fork() failed\n" msgstr "" -#: ipa-client/ipa-join.c:1046 +#: client/ipa-join.c:1046 #, c-format msgid "ipa-getkeytab not found\n" msgstr "" -#: ipa-client/ipa-join.c:1049 +#: client/ipa-join.c:1049 #, c-format msgid "ipa-getkeytab has bad permissions?\n" msgstr "" -#: ipa-client/ipa-join.c:1052 +#: client/ipa-join.c:1052 #, c-format msgid "executing ipa-getkeytab failed, errno %d\n" msgstr "" -#: ipa-client/ipa-join.c:1064 +#: client/ipa-join.c:1064 #, c-format msgid "child exited with %d\n" msgstr "" -#: ipa-client/ipa-join.c:1070 +#: client/ipa-join.c:1070 #, c-format msgid "Certificate subject base is: %s\n" msgstr "" -#: ipa-client/ipa-join.c:1108 +#: client/ipa-join.c:1108 msgid "Print the raw XML-RPC output in GSSAPI mode" msgstr "" -#: ipa-client/ipa-join.c:1110 +#: client/ipa-join.c:1110 msgid "Quiet mode. Only errors are displayed." msgstr "" -#: ipa-client/ipa-join.c:1112 +#: client/ipa-join.c:1112 msgid "Unenroll this host from IPA server" msgstr "" -#: ipa-client/ipa-join.c:1114 +#: client/ipa-join.c:1114 msgid "Hostname of this server" msgstr "" -#: ipa-client/ipa-join.c:1114 ipa-client/ipa-join.c:1116 +#: client/ipa-join.c:1114 client/ipa-join.c:1116 msgid "hostname" msgstr "" -#: ipa-client/ipa-join.c:1116 +#: client/ipa-join.c:1116 msgid "IPA Server to use" msgstr "" -#: ipa-client/ipa-join.c:1118 +#: client/ipa-join.c:1118 msgid "Specifies where to store keytab information." msgstr "" -#: ipa-client/ipa-join.c:1118 +#: client/ipa-join.c:1118 msgid "filename" msgstr "" -#: ipa-client/ipa-join.c:1120 +#: client/ipa-join.c:1120 msgid "Force the host join. Rejoin even if already joined." msgstr "" -#: ipa-client/ipa-join.c:1122 +#: client/ipa-join.c:1122 msgid "LDAP password (if not using Kerberos)" msgstr "" -#: ipa-client/ipa-join.c:1122 +#: client/ipa-join.c:1122 msgid "password" msgstr "" -#: ipa-client/ipa-join.c:1124 +#: client/ipa-join.c:1124 msgid "LDAP basedn" msgstr "" -#: ipa-client/ipa-join.c:1124 +#: client/ipa-join.c:1124 msgid "basedn" msgstr "" -#: ipa-client/ipa-rmkeytab.c:43 +#: client/ipa-rmkeytab.c:43 #, c-format msgid "Unable to parse principal name\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:45 +#: client/ipa-rmkeytab.c:45 #, c-format msgid "krb5_parse_name %1$d: %2$s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:55 +#: client/ipa-rmkeytab.c:55 #, c-format msgid "Removing principal %s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:68 +#: client/ipa-rmkeytab.c:68 #, c-format msgid "Failed to open keytab\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:72 +#: client/ipa-rmkeytab.c:72 #, c-format msgid "principal not found\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:74 +#: client/ipa-rmkeytab.c:74 #, c-format msgid "krb5_kt_get_entry %1$d: %2$s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:82 +#: client/ipa-rmkeytab.c:82 #, c-format msgid "Unable to remove entry\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:84 +#: client/ipa-rmkeytab.c:84 #, c-format msgid "kvno %d\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:85 +#: client/ipa-rmkeytab.c:85 #, c-format msgid "krb5_kt_remove_entry %1$d: %2$s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:119 +#: client/ipa-rmkeytab.c:119 #, c-format msgid "Unable to parse principal\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:121 +#: client/ipa-rmkeytab.c:121 #, c-format msgid "krb5_unparse_name %1$d: %2$s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:143 +#: client/ipa-rmkeytab.c:143 #, c-format msgid "realm not found\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:169 +#: client/ipa-rmkeytab.c:169 msgid "Print debugging information" msgstr "" -#: ipa-client/ipa-rmkeytab.c:169 +#: client/ipa-rmkeytab.c:169 msgid "Debugging output" msgstr "" -#: ipa-client/ipa-rmkeytab.c:171 +#: 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 +#: client/ipa-rmkeytab.c:174 msgid "The keytab file to remove the principcal(s) from" msgstr "" -#: ipa-client/ipa-rmkeytab.c:176 +#: client/ipa-rmkeytab.c:176 msgid "Remove all principals in this realm" msgstr "" -#: ipa-client/ipa-rmkeytab.c:230 ipa-client/ipa-rmkeytab.c:237 +#: client/ipa-rmkeytab.c:230 client/ipa-rmkeytab.c:237 #, c-format msgid "Failed to open keytab '%1$s': %2$s\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:253 +#: client/ipa-rmkeytab.c:253 #, c-format msgid "Closing keytab failed\n" msgstr "" -#: ipa-client/ipa-rmkeytab.c:255 +#: client/ipa-rmkeytab.c:255 #, c-format msgid "krb5_kt_close %1$d: %2$s\n" msgstr "" diff --git a/install/po/ja.po b/install/po/ja.po index 5a46eff..5a271f2 100644 --- a/install/po/ja.po +++ b/install/po/ja.po @@ -8,19 +8,18 @@ msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\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.7.3\n" +"X-Generator: Zanata 3.8.4\n" #, python-format msgid "Enter %(label)s again to verify: " @@ -107,6 +106,13 @@ msgstr "少なくとも %(minlength)d 文字である必要があります" msgid "must be exactly %(length)d characters" msgstr "ちょうど %(length)d 文字である必要があります" +msgid "invalid SSH public key" +msgstr "無効な SSH 公開鍵" + +#, python-format +msgid "invalid domain-name: %s" +msgstr "無効なドメイン名: %s" + msgid "A list of ACI values" msgstr "ACI 値の一覧" @@ -265,10 +271,6 @@ msgstr "HBAC サービスグループにメンバーを追加します。" msgid "Remove members from an HBAC service group." msgstr "HBAC サービスグループからメンバーを削除します。" -#, python-format -msgid "invalid domain-name: %s" -msgstr "無効なドメイン名: %s" - msgid "host" msgstr "ホスト" @@ -453,9 +455,6 @@ msgstr "ユーザーアカウントを無効化します。" msgid "Enable a user account." msgstr "ユーザーアカウントを有効化します。" -msgid "invalid SSH public key" -msgstr "無効な SSH 公開鍵" - msgid "Out of memory\n" msgstr "メモリー不足\n" diff --git a/install/po/kn.po b/install/po/kn.po index e3b6f67..9b76e47 100644 --- a/install/po/kn.po +++ b/install/po/kn.po @@ -8,19 +8,27 @@ msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\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.7.3\n" +"X-Generator: Zanata 3.8.4\n" + +msgid "Password" +msgstr "ಗುಪ್ತಪದ" + +msgid "Data" +msgstr "ದತ್ತಾಂಶ" + +msgid "Failed members" +msgstr "ವಿಫಲಗೊಂಡ ಸದಸ್ಯರು" #, python-format msgid "Enter %(label)s again to verify: " @@ -302,12 +310,6 @@ msgstr "ಮೌಂಟ್ ಪಾಯಂಟ್" msgid "Parent map" msgstr "Parent map" -msgid "Password" -msgstr "ಗುಪ್ತಪದ" - -msgid "Failed members" -msgstr "ವಿಫಲಗೊಂಡ ಸದಸ್ಯರು" - msgid "Member users" msgstr "ಸದಸ್ಯ ಬಳಕೆದಾರರು" @@ -362,9 +364,6 @@ msgstr "ವರ್ಗ" msgid "Certificate" msgstr "ಪ್ರಮಾಣಪತ್ರ" -msgid "Base-64 encoded server certificate" -msgstr "Base-64 ಎನ್‌ಕೋಡೆಡ್ ಸರ್ವರ್ ಪ್ರಮಾಣಪತ್ರ" - msgid "User category" msgstr "ಬಳಕೆದಾರನ ವರ್ಗ" @@ -384,38 +383,32 @@ msgstr "ಸೇವೆಗಳು(ಸರ್ವೀಸಸ್)" msgid "Failure decoding Certificate Signing Request: %s" msgstr "ಪ್ರಮಾಣಪತ್ರದ ಸಹಿಯ ಕೋರಿಕೆಯ ಡಿಕೋಡಿಂಗ್‌ನ ವಿಫಲತೆ: %s" -msgid "Principal" -msgstr "Principal" - -msgid "automatically add the principal if it doesn't exist" -msgstr "ಸ್ವಯಂಚಾಲಿತವಾಗಿ principal ಸೇರಿಸಿ ಅದು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲದಿದ್ದಲ್ಲಿ" - msgid "Subject" msgstr "ವಿಷಯ" msgid "Serial number" msgstr "ಅನುಕ್ರಮ ಸಂಖ್ಯೆ" -msgid "Request id" -msgstr "ಬೇಡಿಕೆ ID" +msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" +msgstr "ಕ್ರಮ ಸಂಖ್ಯೆ ಡೆಸಿಮಲ್‌ನಲ್ಲಿ ಅಥವಾ 0x ಮೊದಲು ಸೇರಿಸಿದ್ದಲ್ಲಿ ಹೆಕ್ಸಾಡೆಸಿಮಲ್‌ನಲ್ಲಿ" msgid "Request status" msgstr "ಬೇಡಿಕೆ ಸ್ಥಿತಿ" -msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" -msgstr "ಕ್ರಮ ಸಂಖ್ಯೆ ಡೆಸಿಮಲ್‌ನಲ್ಲಿ ಅಥವಾ 0x ಮೊದಲು ಸೇರಿಸಿದ್ದಲ್ಲಿ ಹೆಕ್ಸಾಡೆಸಿಮಲ್‌ನಲ್ಲಿ" +msgid "Request id" +msgstr "ಬೇಡಿಕೆ ID" -msgid "Revocation reason" -msgstr "ರದ್ದು ಮಾಡುವುದಕ್ಕೆ ಕಾರಣ" +msgid "Principal" +msgstr "Principal" + +msgid "automatically add the principal if it doesn't exist" +msgstr "ಸ್ವಯಂಚಾಲಿತವಾಗಿ principal ಸೇರಿಸಿ ಅದು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲದಿದ್ದಲ್ಲಿ" msgid "Revoked" msgstr "ರದ್ದು ಮಾಡಲಾಗಿದೆ" -msgid "Reason" -msgstr "ಕಾರಣ" - -msgid "Reason for revoking the certificate (0-10)" -msgstr "ಪ್ರಮಾಣಪತ್ರವನ್ನು (0-10) ರದ್ದು ಮಾಡಲು ಕಾರಣ" +msgid "Revocation reason" +msgstr "ರದ್ದು ಮಾಡುವುದಕ್ಕೆ ಕಾರಣ" msgid "Unrevoked" msgstr "ರದ್ದು ಮಾಡಲಾಗಿಲ್ಲ" @@ -585,9 +578,6 @@ msgstr "\"%(value)s\" ಹೋಸ್ಟ್‌ಗ್ರೂಪನ್ನು ಅಳಿ msgid "Modified hostgroup \"%(value)s\"" msgstr "\"%(value)s\" ಹೋಸ್ಟ್‌ಗ್ರೂಪನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ" -msgid "Data" -msgstr "ದತ್ತಾಂಶ" - msgid "Groups" msgstr "ಗುಂಪುಗಳು" @@ -696,6 +686,5 @@ msgstr "\"%(value)s\" ಬಳಕೆದಾರನನ್ನು ಅಳಿಸಲಾಗ msgid "Modified user \"%(value)s\"" msgstr "\"%(value)s\" ಬಳಕೆದಾರನನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ" -#, python-format -msgid "Unable to communicate with CMS (%s)" -msgstr "CMS (%s) ಜೊತೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ" +#~ msgid "Reason" +#~ msgstr "ಕಾರಣ" diff --git a/install/po/mr.po b/install/po/mr.po new file mode 100644 index 0000000..86daad7 --- /dev/null +++ b/install/po/mr.po @@ -0,0 +1,98 @@ +# Abhijeet Kasurde , 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: ipa\n" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\n" +"PO-Revision-Date: 2015-12-04 03:55-0500\n" +"Last-Translator: Abhijeet Kasurde \n" +"Language-Team: Marathi\n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Zanata 3.8.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +#, python-format +msgid "Enter %(label)s again to verify: " +msgstr "सत्यापित करण्यासाठी आपण पुन्हा %(label)s प्रविष्ट करा:" + +#, c-format +msgid "Passwords do not match!" +msgstr "पासवर्ड जुळत नाही!" + +msgid "No matching entries found" +msgstr "कोणतेही जुळणारे नोंदी आढळले" + +msgid "Topic or Command" +msgstr "विषय किंवा आदेश" + +msgid "The topic or command name." +msgstr "विषय किंवा आदेशाचे नाव" + +msgid "Topic commands:" +msgstr "विषय आदेश:" + +msgid "To get command help, use:" +msgstr "आदेशा संबधित मिळवण्यासाठी, वापरा:" + +msgid " ipa --help" +msgstr " ipa --help" + +msgid "Command name" +msgstr "आदेशाचे नाव " + +msgid "Positional arguments" +msgstr "positional वितर्क" + +#, 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 "एक अंतर्गत त्रुटी आली आहे" + +#, python-format +msgid "an internal error has occurred on server at '%(server)s'" +msgstr "एक अंतर्गत त्रुटी '%(server)s' वरील सर्व्हर वर आली आहे " + +#, python-format +msgid "unknown command '%(name)s'" +msgstr "अनोळखी आदेश '%(name)s'" + +#, python-format +msgid "error on server '%(server)s': %(error)s" +msgstr "सर्व्हरवर त्रुटी '%(server)s': %(error)s" + +#, python-format +msgid "cannot connect to '%(uri)s': %(error)s" +msgstr "'%(uri)s' ला जोडणी अपयशी : %(error)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 "did not receive Kerberos credentials" +msgstr "Kerberos credentials प्राप्त झाले नाहीत" + +#, python-format +msgid "Service '%(service)s' not found in Kerberos database" +msgstr "सेवा '%(service)s' Kerberos माहितीकोष आढली नाही" diff --git a/install/po/nl.po b/install/po/nl.po index b09ec49..eb00f16 100644 --- a/install/po/nl.po +++ b/install/po/nl.po @@ -4,23 +4,23 @@ # # Translators: # Geert Warrink , 2011 +# Martin Bašti , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\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.7.3\n" +"X-Generator: Zanata 3.8.4\n" #, c-format msgid "Passwords do not match!" -msgstr "Wachtwoorden komen niet overheen!" +msgstr "Wachtwoorden komen niet overeen!" diff --git a/install/po/pl.po b/install/po/pl.po index 2f98114..5e4bbce 100644 --- a/install/po/pl.po +++ b/install/po/pl.po @@ -6,23 +6,58 @@ # jdennis , 2011 # Mateusz Marzantowicz , 2013 # Piotr Drąg , 2010,2013 +# Piotr Drąg , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\n" +"PO-Revision-Date: 2016-05-14 05:40-0400\n" +"Last-Translator: Piotr Drąg \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.7.3\n" +"X-Generator: Zanata 3.8.4\n" + +#, python-format +msgid "File %(file)s not found" +msgstr "Nie odnaleziono pliku %(file)s" + +msgid "Delete all?" +msgstr "Usunąć wszystko?" + +msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." +msgstr "" +"Tryb migracji jest wyłączony. Należy użyć polecenia \"ipa config-mod\", aby " +"go włączyć." + +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 "" +"Hasła zostały migrowane w formacie sprzed mieszania.\n" +"Program IPA nie może utworzyć kluczy Kerberosa, chyba\n" +"że zostały podane z hasłami w zwykłym tekście. Wszyscy\n" +"migrowani użytkownicy muszą zalogować się na stronie\n" +"https://twoja.domena/ipa/migration/, zanim będą mogli\n" +"używać swoich kont Kerberosa." + +msgid "Password" +msgstr "Hasło" + +msgid "Data" +msgstr "Dane" + +msgid "Failed members" +msgstr "Elementy, które się nie powiodły" #, python-format msgid "Enter %(label)s again to verify: " @@ -329,10 +364,6 @@ msgstr "Komputery" msgid "Location" msgstr "Położenie" -#, python-format -msgid "File %(file)s not found" -msgstr "Nie odnaleziono pliku %(file)s" - msgid "Map" msgstr "Mapa" @@ -357,12 +388,6 @@ msgstr "Punkt montowania" msgid "Parent map" msgstr "Mapa nadrzędna" -msgid "Password" -msgstr "Hasło" - -msgid "Failed members" -msgstr "Elementy, które się nie powiodły" - msgid "Member users" msgstr "Elementy użytkowników" @@ -436,15 +461,9 @@ msgstr "Liczba usuniętych elementów" msgid "Time Limit" msgstr "Ograniczenie czasu" -msgid "Time limit of search in seconds" -msgstr "Ograniczenie czasu wyszukiwania w sekundach" - msgid "Size Limit" msgstr "Ograniczenie rozmiaru" -msgid "Maximum number of entries returned" -msgstr "Maksymalna liczba zwróconych wpisów" - msgid "User" msgstr "Użytkownik" @@ -507,9 +526,6 @@ 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" @@ -535,12 +551,6 @@ msgstr "Usługi" msgid "Failure decoding Certificate Signing Request: %s" msgstr "Dekodowanie żądania podpisywania certyfikatu nie powiodło się: %s" -msgid "Principal" -msgstr "Naczelnik" - -msgid "automatically add the principal if it doesn't exist" -msgstr "automatycznie dodaj naczelnika, jeśli nie istnieje" - msgid "Subject" msgstr "Temat" @@ -562,33 +572,33 @@ msgstr "Odcisk (SHA1)" msgid "Serial number" msgstr "Numer seryjny" -msgid "Dictionary mapping variable name to value" -msgstr "Nazwa zmiennej mapowania słownika do ustawienia jako wartość" - -msgid "Request id" -msgstr "Identyfikator żądania" +msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" +msgstr "" +"Numer seryjny w formie dziesiętnej lub szesnastkowej, jeśli poprzedzone 0x" msgid "Request status" msgstr "Stan żądania" -msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" -msgstr "" -"Numer seryjny w formie dziesiętnej lub szesnastkowej, jeśli poprzedzone 0x" +msgid "Request id" +msgstr "Identyfikator żądania" -msgid "Revocation reason" -msgstr "Przyczyna unieważnienia" +msgid "Principal" +msgstr "Naczelnik" -msgid "Revoke a certificate." -msgstr "Odrzuć certyfikat." +msgid "automatically add the principal if it doesn't exist" +msgstr "automatycznie dodaj naczelnika, jeśli nie istnieje" + +msgid "Status" +msgstr "Stan" msgid "Revoked" msgstr "Unieważniono" -msgid "Reason" -msgstr "Przyczyna" +msgid "Revocation reason" +msgstr "Przyczyna unieważnienia" -msgid "Reason for revoking the certificate (0-10)" -msgstr "Przyczyna unieważnienia certyfikatu (0-10)" +msgid "Revoke a certificate." +msgstr "Odrzuć certyfikat." msgid "Unrevoked" msgstr "Cofnięto unieważnienie" @@ -596,9 +606,6 @@ msgstr "Cofnięto unieważnienie" msgid "Error" msgstr "Błąd" -msgid "Status" -msgstr "Stan" - msgid "Configuration" msgstr "Konfiguracja" @@ -677,9 +684,6 @@ msgstr "Polityka aktualizacji BIND" msgid "Delete all associated records" msgstr "Usuń wszystkie powiązane wpisy" -msgid "Delete all?" -msgstr "Usunąć wszystko?" - #, python-format msgid "Found '%(value)s'" msgstr "Odnaleziono \"%(value)s\"" @@ -917,9 +921,6 @@ msgstr "Nowy certyfikat" msgid "Certificate Revoked" msgstr "Odrzucono certyfikat" -msgid "Data" -msgstr "Dane" - msgid "DNS Zone Settings" msgstr "Ustawienia strefy DNS" @@ -980,6 +981,18 @@ msgstr "Kontrola dostępu oparta na rolach" msgid "Dict of I18N messages" msgstr "Słownik komunikatów umiędzynaradawiania" +msgid "The hostname to register as" +msgstr "Nazwa komputera, pod jaką zarejestrować" + +msgid "The IPA realm" +msgstr "Obszar IPA" + +msgid "Hardware platform of the host (e.g. Lenovo T61)" +msgstr "Platforma sprzętowa komputera (np. Lenovo T61)" + +msgid "Operating System and version of the host (e.g. Fedora 9)" +msgstr "System operacyjny komputera i jego wersja (np. Fedora 9)" + msgid "Manage ticket policy for specific user" msgstr "Zarządzanie polityką zgłoszeń dla podanego użytkownika" @@ -1041,29 +1054,13 @@ msgstr "" msgid "False if migration mode was disabled." msgstr "Fałsz, jeśli wyłączono tryb migracji" -msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." -msgstr "" -"Tryb migracji jest wyłączony. Należy użyć polecenia \"ipa config-mod\", aby " -"go włączyć." - -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 "" -"Hasła zostały migrowane w formacie sprzed mieszania.\n" -"Program IPA nie może utworzyć kluczy Kerberosa, chyba\n" -"że zostały podane z hasłami w zwykłym tekście. Wszyscy\n" -"migrowani użytkownicy muszą zalogować się na stronie\n" -"https://twoja.domena/ipa/migration/, zanim będą mogli\n" -"używać swoich kont Kerberosa." - #, python-format msgid "%(count)d variables" msgstr "%(count)d zmiennych" +msgid "Dictionary mapping variable name to value" +msgstr "Nazwa zmiennej mapowania słownika do ustawienia jako wartość" + msgid "Total number of variables env (>= count)" msgstr "Całkowita liczba zmiennych środowiskowych (>= licznik)" @@ -1235,22 +1232,6 @@ msgstr "Wyłączono konto użytkownika \"%(value)s\"" msgid "Enabled user account \"%(value)s\"" msgstr "Włączono konto użytkownika \"%(value)s\"" -#, python-format -msgid "Unable to communicate with CMS (%s)" -msgstr "Nie można komunikować się z CMS (%s)" - -msgid "The hostname to register as" -msgstr "Nazwa komputera, pod jaką zarejestrować" - -msgid "The IPA realm" -msgstr "Obszar IPA" - -msgid "Hardware platform of the host (e.g. Lenovo T61)" -msgstr "Platforma sprzętowa komputera (np. Lenovo T61)" - -msgid "Operating System and version of the host (e.g. Fedora 9)" -msgstr "System operacyjny komputera i jego wersja (np. Fedora 9)" - #, c-format msgid "cannot open configuration file %s\n" msgstr "nie można otworzyć pliku konfiguracji %s\n" @@ -1315,8 +1296,8 @@ msgstr "Nazwa serwera" msgid "The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)" msgstr "" -"Naczelnik, dla którego uzyskać tablicę kluczy (np.: ftp/ftp.przykład." -"pl@PRZYKŁAD.PL)" +"Naczelnik, dla którego uzyskać tablicę kluczy (np.: ftp/ftp.example." +"com@EXAMPLE.COM)" msgid "Kerberos Service Principal Name" msgstr "Nazwa naczelnika usługi Kerberos" @@ -1618,3 +1599,6 @@ msgstr "Utworzenie losowego klucza nie powiodło się.\n" msgid "Failed to create key!\n" msgstr "Utworzenie klucza nie powiodło się.\n" + +#~ msgid "Reason" +#~ msgstr "Przyczyna" diff --git a/install/po/pt_BR.po b/install/po/pt_BR.po new file mode 100644 index 0000000..0ebe7dd --- /dev/null +++ b/install/po/pt_BR.po @@ -0,0 +1,52 @@ +# Marco Aurélio Krause , 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: ipa\n" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\n" +"PO-Revision-Date: 2015-10-28 02:46-0400\n" +"Last-Translator: Marco Aurélio Krause \n" +"Language-Team: Portuguese (Brazil)\n" +"Language: pt-BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Zanata 3.8.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +#, c-format +msgid "Passwords do not match!" +msgstr "As senhas não coincidem!" + +msgid "No matching entries found" +msgstr "Não foram encontradas entradas coincidentes" + +msgid "Topic or Command" +msgstr "Tópico ou comando" + +msgid "The topic or command name." +msgstr "O nome do tópico ou comando." + +msgid "Topic commands:" +msgstr "Comandos do tópico:" + +msgid "To get command help, use:" +msgstr "Para obter ajuda do comando, use:" + +msgid "Command name" +msgstr "Nome do comando" + +msgid "Positional arguments" +msgstr "Argumentos posicionais" + +msgid "Deprecated options" +msgstr "Opções obsoletas" + +msgid "No file to read" +msgstr "Nenhum arquivo para ler" + +msgid "Passwords do not match" +msgstr "As senhas não coincidem." + +msgid "Command not implemented" +msgstr "Comando não implementado" diff --git a/install/po/ru.po b/install/po/ru.po index b24064f..f900376 100644 --- a/install/po/ru.po +++ b/install/po/ru.po @@ -8,23 +8,68 @@ # Azamat Hackimov , 2012 # jdennis , 2011 # Alex , 2015. #zanata +# Martin Bašti , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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-08-19 10:07-0400\n" -"Last-Translator: Alex \n" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\n" +"PO-Revision-Date: 2016-06-17 07:52-0400\n" +"Last-Translator: Martin Bašti \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.7.3\n" +"X-Generator: Zanata 3.8.4\n" + +msgid "Failed to add" +msgstr "Ошибка при добавлении" + +msgid "Master file" +msgstr "Главный файл" + +msgid "Automount master file." +msgstr "Главный файл автомонтирования." + +#, python-format +msgid "File %(file)s not found" +msgstr "Файл %(file)s не найден" + +#, python-format +msgid "key %(key)s already exists" +msgstr "ключ %(key)s уже существует" + +msgid "Delete all?" +msgstr "Удалить все?" + +msgid "Password" +msgstr "Пароль" + +msgid "" +"\n" +"EXAMPLES:\n" +msgstr "" +"\n" +"ПРИМЕРЫ:\n" + +msgid "Data" +msgstr "Данные" + +msgid "Failed to remove" +msgstr "Ошибка при удалении" + +msgid "Failed RunAs" +msgstr "Ошибка \"запустить как\"" + +msgid "Failed RunAsGroup" +msgstr "Ошибка \"запустить как группа\"" + +msgid "Failed profiles" +msgstr "Ошибка профилей" #, python-format msgid "Enter %(label)s again to verify: " @@ -340,6 +385,9 @@ msgstr "неверный тип" msgid "Only one value is allowed" msgstr "Допускается только одно значение" +msgid "this option is deprecated" +msgstr "это опция устарела" + msgid "must be True or False" msgstr "должно быть либо True, либо False" @@ -414,15 +462,29 @@ msgstr "должен быть один из %(values)s" msgid "must be datetime value" msgstr "должна быть дата(datetime)" -msgid "this option is deprecated" -msgstr "это опция устарела" - msgid "must be DNS name" msgstr "должно быть DNS имя" msgid "must be absolute" msgstr "должно быть единственным" +msgid "too many '@' characters" +msgstr "слишком много символов @" + +msgid "invalid SSH public key" +msgstr "неверный открытый ключ SSH" + +#, python-format +msgid "invalid domain-name: %s" +msgstr "неправильное доменное имя: %s" + +msgid "invalid IP address format" +msgstr "неправильный формат IP-адреса" + +#, python-format +msgid "objectclass %s not found" +msgstr "класс объектов %s не найден" + msgid "A list of ACI values" msgstr "Список значений ACI" @@ -554,13 +616,6 @@ msgstr "Переименовать ACL в \"%(value)s\"" msgid "" "\n" -"EXAMPLES:\n" -msgstr "" -"\n" -"ПРИМЕРЫ:\n" - -msgid "" -"\n" " Add a host:\n" " ipa host-add web1.example.com\n" msgstr "" @@ -607,9 +662,6 @@ msgstr "%(otype)s \"%(oname)s\" не найден(а)" msgid "%s is not a valid attribute." msgstr "%s неправильный атрибут" -msgid "Failed to add" -msgstr "Ошибка при добавлении" - msgid "" "\n" " Remove default (fallback) group for all unmatched entries.\n" @@ -622,6 +674,12 @@ msgstr "" msgid "No default (fallback) group set" msgstr "Группа по умолчанию не установлена" +msgid "Task DN" +msgstr "Задача DN" + +msgid "DN of the started task" +msgstr "DN для запущеной задачи" + msgid "Users" msgstr "Пользователи" @@ -631,12 +689,6 @@ msgstr "Узлы" msgid "No wait" msgstr "Не ждать" -msgid "Task DN" -msgstr "Задача DN" - -msgid "DN of the started task" -msgstr "DN для запущеной задачи" - msgid "at least one of options: type, users, hosts must be specified" msgstr "больше одной опции: тип, пользователи, хосты должны быть указаны " @@ -691,30 +743,9 @@ msgstr "Отобразить расположения автомонтирова msgid "Search for an automount location." msgstr "Поиск для расположения автомонтирования." -#, python-format -msgid "%(count)d automount location matched" -msgid_plural "%(count)d automount locations matched" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - msgid "Generate automount files for a specific location." msgstr "Сгенерировать файлы автомонтирования для особого расположения." -msgid "Master file" -msgstr "Главный файл" - -msgid "Automount master file." -msgstr "Главный файл автомонтирования." - -#, python-format -msgid "File %(file)s not found" -msgstr "Файл %(file)s не найден" - -#, python-format -msgid "key %(key)s already exists" -msgstr "ключ %(key)s уже существует" - msgid "Map" msgstr "Карта" @@ -734,24 +765,12 @@ msgstr "Создать новый ключ автомонтирования." msgid "Mount point" msgstr "Точка монтирования" -msgid "Password" -msgstr "Пароль" - msgid "Roles" msgstr "Роли" msgid "Sudo Command Groups" msgstr "Группы команды SUDO" -msgid "Failed to remove" -msgstr "Ошибка при удалении" - -msgid "Failed RunAs" -msgstr "Ошибка \"запустить как\"" - -msgid "Failed RunAsGroup" -msgstr "Ошибка \"запустить как группа\"" - msgid "Invalid format. Should be name=value" msgstr "Неправильный формат. Должно быть имя=значение" @@ -843,15 +862,9 @@ msgstr "" msgid "Time Limit" msgstr "Ограничение по времени" -msgid "Time limit of search in seconds" -msgstr "Ограничение времени поиска в секундах" - msgid "Size Limit" msgstr "Ограничение по размеру" -msgid "Maximum number of entries returned" -msgstr "Максимальное количество совпадений возвращено" - msgid "Kerberos keys available" msgstr "Kerberos ключей доступно" @@ -996,9 +1009,6 @@ 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" @@ -1067,13 +1077,6 @@ msgstr "Изменён CA ACL \"%(value)s\"" msgid "Search for CA ACLs." msgstr "Поиск по CA ACLs." -#, python-format -msgid "%(count)d CA ACL matched" -msgid_plural "%(count)d CA ACLs matched" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - msgid "Display the properties of a CA ACL." msgstr "Показать свойства of a CA ACL." @@ -1157,9 +1160,6 @@ msgstr "%i служба удалена." msgid "%i services removed." msgstr "%i службы удалены." -msgid "Failed profiles" -msgstr "Ошибка профилей" - msgid "Add profiles to a CA ACL." msgstr "Добавить профили к CA ACL." @@ -1189,21 +1189,6 @@ msgstr "Сбой при декодировании запроса на созд� msgid "CA is not configured" msgstr "CA не настроен" -msgid "Submit a certificate signing request." -msgstr "Отправить запрос подписи сертификата." - -msgid "CSR" -msgstr "CSR" - -msgid "Principal" -msgstr "Основной" - -msgid "Profile ID" -msgstr "Идентификатор профиля" - -msgid "Certificate Profile to use" -msgstr "Использовать сертификат профиля" - msgid "Subject" msgstr "Объект" @@ -1225,34 +1210,48 @@ msgstr "Отпечаток (SHA1)" msgid "Serial number" msgstr "Серийный номер" +msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" +msgstr "Серийный номер в десятичной или если есть префикс 0x в HEX формате" + msgid "Serial number (hex)" msgstr "Серийный номер (hex)" -#, python-format -msgid "extension %s is forbidden" -msgstr "расширение %s запрещено" +msgid "Profile ID" +msgstr "Идентификатор профиля" -msgid "RFC822Name does not match any of user's email addresses" -msgstr "RFC822 Имя не совпадает ни с одним пользователем электронной почты" +msgid "Certificate Profile to use" +msgstr "Использовать сертификат профиля" -msgid "Check the status of a certificate signing request." -msgstr "Проверьте статус запроса подписи сертификата." +msgid "Request status" +msgstr "Статус запроса" msgid "Request id" msgstr "ID запроса" -msgid "Request status" -msgstr "Статус запроса" +msgid "Submit a certificate signing request." +msgstr "Отправить запрос подписи сертификата." -msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" -msgstr "Серийный номер в десятичной или если есть префикс 0x в HEX формате" +msgid "CSR" +msgstr "CSR" -msgid "Retrieve an existing certificate." -msgstr "Получить существующий сертификат." +msgid "Principal" +msgstr "Основной" + +msgid "RFC822Name does not match any of user's email addresses" +msgstr "RFC822 Имя не совпадает ни с одним пользователем электронной почты" + +msgid "Check the status of a certificate signing request." +msgstr "Проверьте статус запроса подписи сертификата." + +msgid "Revoked" +msgstr "Отозван" msgid "Revocation reason" msgstr "Причина отзыва" +msgid "Retrieve an existing certificate." +msgstr "Получить существующий сертификат." + msgid "Output filename" msgstr "Исходящие имя файла" @@ -1262,15 +1261,6 @@ msgstr "Файл для сохранения сертификата." msgid "Revoke a certificate." msgstr "Отозвать сертификат" -msgid "Revoked" -msgstr "Отозван" - -msgid "Reason" -msgstr "Причина" - -msgid "Reason for revoking the certificate (0-10)" -msgstr "Причина для отзыва сертификата (0-10)" - msgid "7 is not a valid revocation reason" msgstr "7 неверная причина отзыва сертификата" @@ -1343,9 +1333,6 @@ msgstr "Делегирования" msgid "Delegation" msgstr "Делегирование" -msgid "invalid IP address format" -msgstr "неправильный формат IP-адреса" - msgid "invalid IP network format" msgstr "неправильный формат подсети" @@ -1439,9 +1426,6 @@ msgstr "Создать новую зону DNS (SOA-запись)" msgid "Force" msgstr "Принудительно" -msgid "Delete all?" -msgstr "Удалить все?" - #, python-format msgid "Host '%(host)s' not found" msgstr "Узел \"%(host)s\" не найден" @@ -1522,10 +1506,6 @@ msgstr "Имя службы" msgid "Warning" msgstr "Предупреждение" -#, python-format -msgid "invalid domain-name: %s" -msgstr "неправильное доменное имя: %s" - msgid "host" msgstr "узел" @@ -1570,9 +1550,6 @@ msgstr "Удалить узел." msgid "Deleted host \"%(value)s\"" msgstr "Удален узел «%(value)s»" -msgid "Remove entries from DNS" -msgstr "Удалить записи из DNS" - msgid "Modify information about a host." msgstr "Изменить информацию об узле." @@ -1690,9 +1667,6 @@ msgstr "Причина отзыва" msgid "User Options" msgstr "Параметры пользователя" -msgid "Data" -msgstr "Данные" - msgid "DNS Zone Settings" msgstr "Настройки зоны DNS" @@ -1744,6 +1718,12 @@ msgstr "Страница" msgid "Prev" msgstr "Назад" +msgid "Hardware platform of the host (e.g. Lenovo T61)" +msgstr "Аппаратная платформа узла (например, Lenovo T61)" + +msgid "Operating System and version of the host (e.g. Fedora 9)" +msgstr "Операционная система и версия узла (например, Fedora 9)" + msgid "Bind DN" msgstr "Bind DN" @@ -1851,26 +1831,6 @@ msgstr "Учетная запись пользователя «%(value)s» вк� msgid "Unlocked account \"%(value)s\"" msgstr "Учетная запись «%(value)s» разблокирована" -msgid "too many '@' characters" -msgstr "слишком много символов @" - -msgid "invalid SSH public key" -msgstr "неверный открытый ключ SSH" - -#, python-format -msgid "objectclass %s not found" -msgstr "класс объектов %s не найден" - -#, python-format -msgid "Unable to communicate with CMS (%s)" -msgstr "Невозможно связаться с CMS (%s)" - -msgid "Hardware platform of the host (e.g. Lenovo T61)" -msgstr "Аппаратная платформа узла (например, Lenovo T61)" - -msgid "Operating System and version of the host (e.g. Fedora 9)" -msgstr "Операционная система и версия узла (например, Fedora 9)" - #, c-format msgid "cannot open configuration file %s\n" msgstr "невозможно открыть конфигурационный файл %s\n" @@ -1893,3 +1853,6 @@ msgstr "basedn" #, c-format msgid "kvno %d\n" msgstr "kvno %d\n" + +#~ msgid "Reason" +#~ msgstr "Причина" diff --git a/install/po/sk.po b/install/po/sk.po new file mode 100644 index 0000000..7576299 --- /dev/null +++ b/install/po/sk.po @@ -0,0 +1,1809 @@ +# Martin Bašti , 2016. #zanata +msgid "" +msgstr "" +"Project-Id-Version: ipa\n" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\n" +"PO-Revision-Date: 2016-06-19 03:46-0400\n" +"Last-Translator: Martin Bašti \n" +"Language-Team: Slovak\n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Zanata 3.8.4\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" + +#, python-format +msgid "File %(file)s not found" +msgstr "Súbor %(file)s nenájdený" + +#, python-format +msgid "key %(key)s already exists" +msgstr "kľúč %(key)s už existuje" + +#, python-format +msgid "map %(map)s already exists" +msgstr "mapovanie %(map)s už existuje" + +#, python-format +msgid "Added %(map)s" +msgstr "Pridané %(map)s" + +msgid "Imported keys:" +msgstr "Importované kľúče:" + +#, python-format +msgid "Added %(src)s to %(dst)s" +msgstr "Pridané %(src)s do %(dst)s" + +msgid "Ignored keys:" +msgstr "Ignorované kľúče:" + +#, python-format +msgid "Ignored %(src)s to %(dst)s" +msgstr "Ignorované %(src)s do %(dst)s" + +#, python-format +msgid "Skipped %(map)s" +msgstr "Preskočené %(map)s" + +msgid "Duplicate keys skipped:" +msgstr "Duplikované kľúče preskočené:" + +#, python-format +msgid "Skipped %(key)s" +msgstr "Preskočené %(key)s" + +#, python-format +msgid "Profile configuration stored in file '%(file)s'" +msgstr "Konfigurácia profilu bola uložená do súboru '%(file)s'" + +msgid "Please choose a type of DNS resource record to be added" +msgstr "Prosím vyberte typ pre pridávaný DNS záznam" + +#, python-format +msgid "The most common types for this type of zone are: %s\n" +msgstr "Najbežnejšie typy záznamov pre tento typ zóny sú: %s\n" + +msgid "DNS resource record type" +msgstr "Typ DNS záznamu" + +#, python-format +msgid "Invalid or unsupported type. Allowed values are: %s" +msgstr "Nesprávny alebo nepodporovaný typ. Povolené hodnoty sú: %s" + +msgid "Current DNS record contents:\n" +msgstr "Aktuálny obsah DNS záznamu:\n" + +#, python-format +msgid "Modify %(name)s '%(value)s'?" +msgstr "Upraviť %(name)s '%(value)s'?" + +msgid "" +"Neither --del-all nor options to delete a specific record provided.\n" +"Command help may be consulted for all supported record types." +msgstr "" +"Nebola zadaná ani voľba --del-all a ani voľby pre zmazanie špecifického " +"záznamu.\n" +"Príkaz help môže byť použitý pre zobrazenie podporovaných typov záznamov." + +msgid "No option to delete specific record provided." +msgstr "Nebola poskytnutá žiadna voľba pre zmazanie špecifického záznamu" + +msgid "Delete all?" +msgstr "Odstrániť všetko?" + +#, python-format +msgid "Delete %(name)s '%(value)s'?" +msgstr "Odstrániť %(name)s '%(value)s'?" + +msgid "Server will check DNS forwarder(s)." +msgstr "Server skontroluje DNS forwarder(y)." + +msgid "This may take some time, please wait ..." +msgstr "Toto môže trvať nejaký čas, prosím čakajte ..." + +#, python-format +msgid "Certificate(s) stored in file '%(file)s'" +msgstr "Certifikát(y) sú uložené v súbore '%(file)s'" + +msgid "Servers details:" +msgstr "Detaily serverov:" + +msgid "Synchronize an OTP token." +msgstr "Synchronizovať OTP token" + +msgid "User ID" +msgstr "ID používateľa" + +msgid "Password" +msgstr "Heslo" + +msgid "First Code" +msgstr "Prvý kód" + +msgid "Second Code" +msgstr "Druhý kód" + +msgid "Token ID" +msgstr "Token ID" + +msgid "" +"\n" +"YubiKey Tokens\n" +msgstr "" +"\n" +"YubiKey Tokeny\n" + +msgid "" +"\n" +"Manage YubiKey tokens.\n" +msgstr "" +"\n" +"Spravovať YubiKey tokeny.\n" + +msgid "" +"\n" +"EXAMPLES:\n" +msgstr "" +"\n" +"PRÍKLADY:\n" + +msgid "Add a new YubiKey OTP token." +msgstr "Pridať nový YubiKey OTP token." + +msgid "Topology is disconnected" +msgstr "Topológia je odpojená" + +#, python-format +msgid "Server %(srv)s can't contact servers: %(replicas)s" +msgstr "Server %(srv)s nemôže kontaktovať servery: %(replicas)s" + +msgid "Delete a user" +msgstr "Odstrániť používateľa" + +#, python-format +msgid "Cannot read file '%(filename)s': %(exc)s" +msgstr "Nie je možné čítať súbor '%(filename)s': %(exc)s" + +#, python-format +msgid "Cannot decode file '%(filename)s': %(exc)s" +msgstr "Nie je možné dekódovať súbor '%(filename)s': %(exc)s" + +msgid "Invalid credentials" +msgstr "Nesprávne prihlasovacie údaje" + +msgid "Password can be specified only for symmetric vault" +msgstr "Heslo môže byť špecifikované len pre symetrický vault" + +msgid "Public key can be specified only for asymmetric vault" +msgstr "Verejný kľúč môže byť špecifikovný len pre asymetrický vault" + +msgid "Modify a vault." +msgstr "Upraviť vault." + +msgid "Change password" +msgstr "Zmeniť heslo" + +#, c-format +msgid "Passwords do not match!" +msgstr "Heslá sa nezhodujú!" + +msgid "No matching entries found" +msgstr "Nenašli sa žiadne zhodné položky" + +msgid "Topic or Command" +msgstr "Téma alebo príkaz" + +msgid "Command name" +msgstr "Názov príkazu" + +msgid "Positional arguments" +msgstr "Pozičný argument" + +#, python-format +msgid "Same as --%s" +msgstr "Rovnaké ako --%s" + +msgid "Deprecated options" +msgstr "Zastarané voľby" + +#, python-format +msgid "unknown error %(code)d from %(server)s: %(error)s" +msgstr "neznáma chyba %(code)d od %(server)s: %(error)s" + +msgid "an internal error has occurred" +msgstr "nastala interná chyba" + +#, python-format +msgid "an internal error has occurred on server at '%(server)s'" +msgstr "nastala interná chyba na serveri '%(server)s'" + +#, python-format +msgid "unknown command '%(name)s'" +msgstr "neznámy príkaz '%(name)s'" + +#, python-format +msgid "error on server '%(server)s': %(error)s" +msgstr "chyba na serveri '%(server)s': %(error)s" + +#, python-format +msgid "cannot connect to '%(uri)s': %(error)s" +msgstr "nedá sa pripojiť k '%(uri)s': %(error)s" + +#, python-format +msgid "Invalid JSON-RPC request: %(error)s" +msgstr "Nevalídna JSON-RPC požiadavka: %(error)s" + +#, python-format +msgid "Service '%(service)s' not found in Kerberos database" +msgstr "Služba '%(service)s' nenájdená v Kerberos databáze" + +#, python-format +msgid "Insufficient access: %(info)s" +msgstr "Nedostatočný prístup: %(info)s" + +#, python-format +msgid "'%(name)s' is required" +msgstr "'%(name)s' je požadované" + +msgid "Passwords do not match" +msgstr "Heslá sa nezhodujú" + +msgid "Command not implemented" +msgstr "Príkaz nie je implementovaný" + +msgid "Client is not configured. Run ipa-client-install." +msgstr "Klient nie je nakonfigurovaný. Spustite ipa-client-install." + +#, python-format +msgid "Could not get %(name)s interactively" +msgstr "Nie je možné interaktívne získať %(name)s" + +#, python-format +msgid "%(reason)s" +msgstr "%(reason)s" + +msgid "This entry already exists" +msgstr "Táto položka už existuje" + +msgid "This command requires root access" +msgstr "Tento príkaz vyžaduje root oprávnenia" + +msgid "This is already a posix group" +msgstr "Toto už je posix skupina" + +msgid "This entry cannot be enabled or disabled" +msgstr "Táto položka nemôže byť aktivovaná alebo deaktivovaná" + +msgid "This entry is not a member" +msgstr "Táto položka nie je členom" + +msgid "A group may not be a member of itself" +msgstr "Skupina nemože byť členom seba samej" + +msgid "This entry is already a member" +msgstr "Táto položka už je členom" + +#, python-format +msgid "Base64 decoding failed: %(reason)s" +msgstr "Base64 dekódovanie zlyhalo: %(reason)s" + +#, python-format +msgid "'%(entry)s' doesn't have a certificate." +msgstr "'%(entry)s' nemá certifikát." + +#, python-format +msgid "%(attr)s does not contain '%(value)s'" +msgstr "%(attr)s neobsahuje '%(value)s'" + +msgid "change collided with another change" +msgstr "zmena spôsobila kolíziu s inou zmenou" + +msgid "no modifications to be performed" +msgstr "žiadne úpravy neboli vykonané" + +#, python-format +msgid "%(desc)s: %(info)s" +msgstr "%(desc)s: %(info)s" + +#, python-format +msgid "%(info)s" +msgstr "%(info)s" + +#, python-format +msgid "%(attr)s: Only one value allowed." +msgstr "%(attr)s: Len jedna hodnota je povolená." + +#, python-format +msgid "%(attr)s: Invalid syntax." +msgstr "%(attr)s: Nesprávna syntax." + +#, python-format +msgid "Bad search filter %(info)s" +msgstr "Zlý vyhľadávací filter %(info)s" + +msgid "Configured time limit exceeded" +msgstr "Nakonfigurovaný časový limit bol dosiahnutý" + +msgid "Configured size limit exceeded" +msgstr "Nakonfigurovaný veľkostný limit bol dosiahnutý" + +#, python-format +msgid "%(name)s certificate is not valid" +msgstr "%(name)s certifikát nie je platný" + +#, python-format +msgid "Unknown option: %(option)s" +msgstr "Neznáma voľba: %(option)s" + +msgid "must be a decimal number" +msgstr "musí byť desiatkové číslo" + +#, python-format +msgid "" +"only letters, numbers, %(chars)s are allowed. DNS label may not start or end " +"with %(chars2)s" +msgstr "" +"povolené sú len písmená, čísla, %(chars)s . DNS label nesmie začínať alebo " +"končiť s %(chars2)s" + +msgid "invalid SSH public key" +msgstr "neplatný verejný SSH kľúč" + +msgid "invalid domain name" +msgstr "neplatné doménové meno" + +#, python-format +msgid "invalid domain-name: %s" +msgstr "neplatné doménové meno: %s" + +msgid "invalid IP address format" +msgstr "neplatný formát IP adresy" + +#, python-format +msgid "%(port)s is not a valid port" +msgstr "%(port)s nie je platný port" + +#, python-format +msgid "objectclass %s not found" +msgstr "objectclass %s nenájdená" + +msgid "trusted domain object not found" +msgstr "trust doménový objekt nenájdený" + +msgid "trusted domain user not found" +msgstr "trust doménový užívateľ nenájdený" + +#, python-format +msgid "invalid DN (%s)" +msgstr "neplatné DN (%s)" + +#, python-format +msgid "ACI with name \"%s\" not found" +msgstr "ACI s názvom \"%s\" nenájdené" + +msgid "ACI name" +msgstr "ACI názov" + +msgid "User group" +msgstr "Používateľská skupina" + +msgid "Type" +msgstr "Typ" + +msgid "Target group" +msgstr "Cieľová skupina" + +#, python-format +msgid "Deleted ACI \"%(value)s\"" +msgstr "Odstránené ACI \"%(value)s\"" + +msgid "New ACI name" +msgstr "Nový ACI názov" + +msgid "Automember Rule" +msgstr "Automember pravidlo" + +msgid "Description" +msgstr "Popis" + +#, python-format +msgid "%(otype)s \"%(oname)s\" not found" +msgstr "%(otype)s \"%(oname)s\" nenájdené" + +#, python-format +msgid "Added automember rule \"%(value)s\"" +msgstr "Pridané automember pravidlo \"%(value)s\"" + +#, python-format +msgid "Auto member rule: %s not found!" +msgstr "Automember pravidlo: %s nenájdené!" + +#, python-format +msgid "Deleted automember rule \"%(value)s\"" +msgstr "Odstránené automember pravidlo \"%(value)s\"" + +msgid "Users" +msgstr "Používatelia" + +msgid "Automember rebuild membership task started" +msgstr "Úloha obnovenia automember členstva začala" + +msgid "Automember rebuild membership task completed" +msgstr "Úloha obnovenia automember členstva dokončená" + +msgid "Automember" +msgstr "Automember" + +msgid "Member groups" +msgstr "Členské skupiny" + +msgid "Member of groups" +msgstr "Člen skupín" + +msgid "Roles" +msgstr "Role" + +#, python-format +msgid "container entry (%(container)s) not found" +msgstr "kontajner (%(container)s) nenájdený" + +#, python-format +msgid "%(parent)s: %(oname)s not found" +msgstr "%(parent)s: %(oname)s nenájdený" + +#, python-format +msgid "%(pkey)s: %(oname)s not found" +msgstr "%(pkey)s: %(oname)s nenájdený" + +msgid "Rename" +msgstr "Premenovať" + +msgid "SSH public key fingerprint" +msgstr "Odtlačok verejného SSH kľúča (fingerprint)" + +msgid "User" +msgstr "Používateľ" + +msgid "User login" +msgstr "Prihlasovacie meno" + +msgid "First name" +msgstr "Meno" + +msgid "Last name" +msgstr "Priezvisko" + +msgid "Full name" +msgstr "Celé meno" + +msgid "Display name" +msgstr "Zobrazované meno" + +msgid "Initials" +msgstr "Iniciály" + +msgid "Home directory" +msgstr "Domovský priečinok" + +msgid "GECOS" +msgstr "GECOS" + +msgid "Email address" +msgstr "E-mailová adresa" + +msgid "UID" +msgstr "UID" + +msgid "User ID Number (system will assign one if not provided)" +msgstr "ID používateľa (systém priradí automaticky ak nie je zadané) " + +msgid "GID" +msgstr "GID" + +msgid "Group ID Number" +msgstr "ID skupiny" + +msgid "Street address" +msgstr "Ulica" + +msgid "City" +msgstr "Mesto" + +msgid "State/Province" +msgstr "Štát/Provincia" + +msgid "ZIP" +msgstr "PSČ" + +msgid "Telephone Number" +msgstr "Telefónne číslo" + +msgid "Mobile Telephone Number" +msgstr "Mobilné číslo" + +msgid "Pager Number" +msgstr "Pager číslo" + +msgid "Fax Number" +msgstr "Faxové číslo" + +msgid "Org. Unit" +msgstr "Org. jednotka" + +msgid "Job Title" +msgstr "Pracovná pozícia" + +msgid "Manager" +msgstr "Manažér" + +msgid "SSH public key" +msgstr "Verejný SSH kľúč" + +msgid "User authentication types" +msgstr "Typy autentifikácie používateľa" + +msgid "Types of supported user authentication" +msgstr "Podporované typy autentifikácie používateľa" + +msgid "RADIUS proxy configuration" +msgstr "RADIUS proxy konfigurácia" + +msgid "RADIUS proxy username" +msgstr "RADIUS proxy používateľské meno" + +msgid "Department Number" +msgstr "Číslo oddelenia" + +msgid "Employee Number" +msgstr "Zamestnanecké číslo" + +msgid "Employee Type" +msgstr "Typ zamestnanca" + +msgid "Preferred Language" +msgstr "Preferovaný jazyk" + +msgid "Base-64 encoded user certificate" +msgstr "Base-64 zakódovaný používateľský certifikát" + +#, python-format +msgid "invalid e-mail format: %(email)s" +msgstr "neplatný formát e-mailovej adresy: %(email)s" + +#, python-format +msgid "manager %(manager)s not found" +msgstr "manažér %(manager)s nenájdený" + +msgid "Name" +msgstr "Názov" + +msgid "Authority ID" +msgstr "ID autority" + +msgid "Dogtag Authority ID" +msgstr "ID Dogtag autority" + +msgid "IPA CA cannot be deleted" +msgstr "IPA CA nemôže byť odstránené" + +msgid "Profiles" +msgstr "Profily" + +msgid "User Groups" +msgstr "Používateľské skupiny" + +msgid "Services" +msgstr "Služby" + +msgid "Delete a CA ACL." +msgstr "Odstrániť CA ACL." + +#, python-format +msgid "Deleted CA ACL \"%(value)s\"" +msgstr "Odstránené CA ACL \"%(value)s\"" + +msgid "Serial number" +msgstr "Sériové číslo" + +msgid "Serial number (hex)" +msgstr "Sériové číslo (hexadecimálne)" + +msgid "Profile ID" +msgstr "ID profilu" + +msgid "Status" +msgstr "Stav" + +#, python-format +msgid "" +"Certificate with serial number %(serial)s issued by CA '%(ca)s' not found" +msgstr "" +"Certifikát so sériovým číslom %(serial)s vydaný CA '%(ca)s' sa nenašiel" + +msgid "minimum serial number" +msgstr "minimálne sériové číslo" + +msgid "maximum serial number" +msgstr "maximálne sériové číslo" + +msgid "invalid Profile ID" +msgstr "nevalídne ID profilu" + +msgid "Certificate Profile" +msgstr "Certifikačný profil" + +msgid "Certificate Profiles" +msgstr "Certifikačné profily" + +msgid "Delete a Certificate Profile." +msgstr "Odstrániť certifikačný profil" + +#, python-format +msgid "Deleted profile \"%(value)s\"" +msgstr "Odstránený profil \"%(value)s\"" + +msgid "invalid IP network format" +msgstr "neplatný formát IP siete" + +msgid "invalid address format" +msgstr "neplatný formát adresy" + +msgid "algorithm value: allowed interval 0-255" +msgstr "algoritmus: hodnota má povolený interval 0-255" + +msgid "flags value: allowed interval 0-255" +msgstr "flagy: hodnota má povolený interval 0-255" + +msgid "iterations value: allowed interval 0-65535" +msgstr "iterácie: hodnota má povolený interval 0-65535" + +#, python-format +msgid "salt value: %(err)s" +msgstr "salt hodnota: %(err)s" + +msgid "invalid domain-name: not fully qualified" +msgstr "neplatné doménové meno: nie je plne kvalifikované (FQDN)" + +#, python-format +msgid "DNS zone %(zone)s not found" +msgstr "DNS zóna %(zone)s nenájdená" + +#, python-format +msgid "%s record" +msgstr "%s záznam" + +#, python-format +msgid "%s Record" +msgstr "%s záznam" + +#, python-format +msgid "(see RFC %s for details)" +msgstr "(pozrite RFC %s pre viac detailov)" + +msgid "Create reverse" +msgstr "Vytvoriť reverzný" + +msgid "IP Address" +msgstr "IP adresa" + +msgid "Size" +msgstr "Veľkosť" + +msgid "Order" +msgstr "Poradie" + +msgid "Priority" +msgstr "Priorita" + +msgid "Weight" +msgstr "Váha" + +msgid "Port" +msgstr "Port" + +msgid "Records" +msgstr "Záznamy" + +msgid "Record type" +msgstr "Typ záznamu" + +#, python-format +msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record" +msgstr "Nameserver '%(host)s' nemá zodpovedajúci A/AAAA záznam" + +msgid "Zone name" +msgstr "Názov zóny" + +msgid "Zone name (FQDN)" +msgstr "Názov zóny (FQDN)" + +msgid "Active zone" +msgstr "Aktívna zóna" + +msgid "Is zone active?" +msgstr "Je zóna aktívna?" + +msgid "Zone forwarders" +msgstr "Zónové forwardery" + +msgid "DNS zone" +msgstr "DNS zóna" + +msgid "DNS zones" +msgstr "DNS zóny" + +msgid "DNS Zones" +msgstr "DNS zóny" + +msgid "DNS Zone" +msgstr "DNS zóna" + +msgid "Authoritative nameserver" +msgstr "Autoritatívny nameserver" + +msgid "Authoritative nameserver domain name" +msgstr "Doménové meno autoritatívneho nameservera" + +msgid "Administrator e-mail address" +msgstr "E-mailová adresa administrátora" + +msgid "SOA record serial number" +msgstr "Sériové číslo SOA záznamu" + +msgid "Dynamic update" +msgstr "Dynamické aktualizácie" + +msgid "Allow dynamic updates." +msgstr "Povoliť dynamické aktualizácie" + +msgid "Allow query" +msgstr "Povoliť dotazy" + +msgid "Allow transfer" +msgstr "Povoliť prenos" + +msgid "Allow PTR sync" +msgstr "Povoliť PTR synchronizáciu" + +msgid "Delete DNS zone (SOA record)." +msgstr "Odstrániť DNS zónu (SOA záznam)." + +#, python-format +msgid "Deleted DNS zone \"%(value)s\"" +msgstr "Odstránená DNS zóna \"%(value)s\"" + +msgid "Force" +msgstr "Vynútiť" + +msgid "is required" +msgstr "je povinné" + +msgid "Record name" +msgstr "Názov záznamu" + +msgid "Structured" +msgstr "Štrukturovane" + +msgid "Add new DNS resource record." +msgstr "Pridať nový DNS záznam" + +msgid "Modify a DNS resource record." +msgstr "Upraviť DNS záznam" + +#, python-format +msgid "Deleted record \"%(value)s\"" +msgstr "Odstránený záznam \"%(value)s\"" + +msgid "Delete DNS resource record." +msgstr "Odstrániť DNS záznam" + +#, python-format +msgid "Found '%(value)s'" +msgstr "Nájdené '%(value)s'" + +msgid "DNS Global Configuration" +msgstr "DNS globálne nastavenia" + +msgid "Global forwarders" +msgstr "Globálne forwardery" + +msgid "" +"Global forwarders. A custom port can be specified for each forwarder using a " +"standard format \"IP_ADDRESS port PORT\"" +msgstr "" +"Globálne forwardery. Vlastný port môže byť nastavený použítím štandardného " +"formátu \"IP_ADRESA port PORT\" pre každý forwarder " + +msgid "" +"Global forwarding policy. Set to \"none\" to disable any configured global " +"forwarders." +msgstr "" +"Globálna forward politika. Nastavením na \"none\" sa deaktivuje akýkoľvek " +"nastavený globálny forwarder." + +msgid "IPA DNS version" +msgstr "Verzia IPA DNS" + +msgid "DNS forward zone" +msgstr "DNS forward zóna" + +msgid "DNS forward zones" +msgstr "DNS forward zóny" + +msgid "DNS Forward Zones" +msgstr "DNS forward zóny" + +msgid "DNS Forward Zone" +msgstr "DNS forward zóna" + +msgid "Create new DNS forward zone." +msgstr "Vytvoriť novú DNS forward zónu" + +msgid "Please specify forwarders." +msgstr "Prosím špecifikujte forwardery." + +msgid "Delete DNS forward zone." +msgstr "Odstrániť DNS forward zónu." + +#, python-format +msgid "Deleted DNS forward zone \"%(value)s\"" +msgstr "Odstránená DNS forward zóna \"%(value)s\"" + +msgid "Modify DNS forward zone." +msgstr "Upraviť DNS forward zónu" + +msgid "Search for DNS forward zones." +msgstr "Vyhľadávať DNS forward zóny" + +msgid "Display information about a DNS forward zone." +msgstr "Zobraziť informácie o DNS forward zóne" + +msgid "IPA DNS records" +msgstr "IPA DNS záznamy" + +msgid "DNS server" +msgstr "DNS server" + +msgid "Forwarders" +msgstr "Forwardery" + +msgid "Search for DNS servers." +msgstr "Vyhľadať DNS servery" + +msgid "group" +msgstr "skupina" + +msgid "groups" +msgstr "skupiny" + +msgid "User Group" +msgstr "Používateľská skupina" + +msgid "Group name" +msgstr "Názov skupiny" + +msgid "Group description" +msgstr "Popis skupiny" + +msgid "Create a new group." +msgstr "Vytvoriť novú skupinu." + +#, python-format +msgid "Added group \"%(value)s\"" +msgstr "Pridaná skupina \"%(value)s\"" + +msgid "Delete group." +msgstr "Odstrániť skupinu." + +#, python-format +msgid "Deleted group \"%(value)s\"" +msgstr "Odstránená skupina \"%(value)s\"" + +msgid "Modify a group." +msgstr "Upraviť skupinu." + +#, python-format +msgid "Modified group \"%(value)s\"" +msgstr "Upravená skupina \"%(value)s\"" + +msgid "Search for groups." +msgstr "Vyhľadávať skupiny." + +msgid "HBAC rules" +msgstr "HBAC pravidlá" + +msgid "HBAC Rules" +msgstr "HBAC pravidlá" + +msgid "Rule name" +msgstr "Názov pravidla" + +msgid "Delete an HBAC rule." +msgstr "Odstrániť HBAC pravidlo." + +#, python-format +msgid "Deleted HBAC rule \"%(value)s\"" +msgstr "Odstránené HBAC pravidlo \"%(value)s\"" + +msgid "HBAC services" +msgstr "HBAC služby" + +msgid "HBAC Services" +msgstr "HBAC služby" + +msgid "Search for HBAC services." +msgstr "Vyhľadať HBAC služby." + +msgid "Serial Number" +msgstr "Sériové číslo" + +msgid "Serial Number (hex)" +msgstr "Sériové číslo (hexadecimálne)" + +msgid "MAC address" +msgstr "MAC adresa" + +msgid "No A, AAAA, SSHFP or PTR records found." +msgstr "Nenašli sa žiadne A, AAAA, SSHFP, alebo PTR záznamy." + +msgid "ID Views" +msgstr "ID Views" + +msgid "ID View Name" +msgstr "Názov ID View" + +msgid "Add a new ID View." +msgstr "Pridať nové ID View" + +#, python-format +msgid "Added ID View \"%(value)s\"" +msgstr "Pridané ID View \"%(value)s\"" + +msgid "Delete an ID View." +msgstr "Odstrániť ID View." + +#, python-format +msgid "Deleted ID View \"%(value)s\"" +msgstr "Odstránené ID View \"%(value)s\"" + +msgid "not found" +msgstr "Nenašlo sa" + +msgid "value" +msgstr "hodnota" + +msgid "IPA object" +msgstr "IPA objekt" + +msgid "User ID Number" +msgstr "ID používateľa" + +msgid "Apply" +msgstr "Použiť" + +#, python-brace-format +msgid "Are you sure you want to delete ${object}?" +msgstr "Ste si istý, že chcete odstrániť ${object}?" + +msgid "Actions" +msgstr "Akcie" + +msgid "Direct Membership" +msgstr "Priame členstvo" + +msgid "Indirect Membership" +msgstr "Nepriame členstvo" + +msgid "No entries." +msgstr "Žiadne položky." + +#, python-brace-format +msgid "Showing ${start} to ${end} of ${total} entries." +msgstr "Zobrazených ${start} až ${end} z ${total} položiek." + +#, python-brace-format +msgid "${count} item(s) removed" +msgstr "${count} položiek odstránneých" + +msgid "Show Results" +msgstr "Zobraz výsledky" + +msgid "OTP" +msgstr "OTP" + +msgid "Two factor authentication (password + OTP)" +msgstr "Dvojfaktorová autentifikácia (heslo + OTP)" + +msgid "RADIUS" +msgstr "RADIUS" + +msgid "Add" +msgstr "Pridať" + +msgid "Add and Add Another" +msgstr "Pridať a pridať ďalšie" + +msgid "Add and Close" +msgstr "Pridať a zavrieť" + +msgid "Add and Edit" +msgstr "Pridať a upraviť" + +msgid "Cancel" +msgstr "Zrušiť" + +msgid "Edit" +msgstr "Upraviť" + +msgid "Find" +msgstr "Hľadať" + +msgid "Hide" +msgstr "Skryť" + +msgid "Issue" +msgstr "Vydať" + +msgid "OK" +msgstr "OK" + +msgid "Refresh" +msgstr "Znovu načítať" + +msgid "Delete" +msgstr "Odstrániť" + +msgid "Reset Password and Login" +msgstr "Obnoviť heslo a prihlásiť sa" + +msgid "Restore" +msgstr "Obnoviť" + +msgid "Revert" +msgstr "Vrátiť" + +msgid "Save" +msgstr "Uložiť" + +msgid "Set" +msgstr "Nastaviť" + +msgid "Show" +msgstr "Zobraziť" + +msgid "Update" +msgstr "Aktualizovať" + +msgid "Collapse All" +msgstr "Zbaliť všetko" + +msgid "Expand All" +msgstr "Rozbaliť všetko" + +msgid "Identity Settings" +msgstr "Nastavenia identity" + +#, python-brace-format +msgid "${entity} ${primary_key} Settings" +msgstr "Nastavenia pre ${entity} ${primary_key}" + +#, python-brace-format +msgid "Add ${entity}" +msgstr "Pridať ${entity}" + +msgid "Confirmation" +msgstr "Potvrdenie" + +msgid "Custom value" +msgstr "Vlastná hodnota" + +msgid "This page has unsaved changes. Please save or revert." +msgstr "" +"Táto stránka obsahuje neuložené zmeny. Prosím uložte alebo vráťte zmeny späť." + +msgid "Unsaved Changes" +msgstr "Neuložené zmeny" + +msgid "Hide details" +msgstr "Skryť detaily" + +msgid "Show details" +msgstr "Zobraziť detaily" + +msgid "Success" +msgstr "Úspech" + +msgid "Validation error" +msgstr "Chyba validácie" + +msgid "Refresh the page." +msgstr "Znovu načítať stránku." + +#, python-brace-format +msgid "An error has occurred (${error})" +msgstr "Nastala chyba (${error})" + +msgid "HTTP Error" +msgstr "Chyba HTTP" + +msgid "Internal Error" +msgstr "Vnútorná chyba" + +msgid "IPA Error" +msgstr "IPA chyba" + +msgid "No response" +msgstr "Bez odpovede" + +msgid "Unknown Error" +msgstr "Neznáma chyba" + +msgid "URL" +msgstr "URL" + +#, python-brace-format +msgid "${primary_key} is a member of:" +msgstr "${primary_key} je členom:" + +msgid "Settings" +msgstr "Nastavenia" + +msgid "Search" +msgstr "Vyhľadávanie" + +msgid "Inherited from server configuration" +msgstr "Zdedené z konfigurácie servera" + +msgid "MS-PAC" +msgstr "MS-PAC" + +msgid "Logout" +msgstr "Odhlásiť sa" + +msgid "Logout error" +msgstr "Chyba odhlasovania" + +msgid "Sync OTP Token" +msgstr "Synchronizovať OTP Token" + +msgid "Username" +msgstr "Používateľské meno" + +msgid "Default user group" +msgstr "Predvolená používateľská skupina" + +msgid "Expression" +msgstr "Výraz" + +msgid "Direct" +msgstr "Priame" + +msgid "Indirect" +msgstr "Nepriame" + +msgid "All" +msgstr "Všetko" + +msgid "Any CA" +msgstr "Akákoľvek CA" + +msgid "Any Service" +msgstr "Akákoľvek služba" + +msgid "Any Profile" +msgstr "Akýkoľvek profil" + +msgid "Anyone" +msgstr "Každý" + +msgid "Rule status" +msgstr "Stav pravidla" + +msgid "Specified CAs" +msgstr "Špecifikované CA" + +msgid "Specified Profiles" +msgstr "Špecifikované profily" + +msgid "Specified Services and Groups" +msgstr "Špecifikované služby a skupiny" + +msgid "Maximum serial number" +msgstr "Maximálne sériové číslo" + +msgid "Minimum serial number" +msgstr "Minimálne sériové číslo" + +msgid "Get Certificate" +msgstr "Získať certifikát" + +#, python-brace-format +msgid "Issue New Certificate for ${entity} ${primary_key}" +msgstr "Vydať nový certifikát pre ${entity} ${primary_key}" + +msgid "Issue New Certificate" +msgstr "Vydať nový certifikát" + +msgid "No Valid Certificate" +msgstr "Žiadny platný certifikát" + +msgid "New Certificate" +msgstr "Nový certifikát" + +msgid "Note" +msgstr "Poznámka" + +msgid "Organization" +msgstr "Organizácia" + +msgid "Organizational Unit" +msgstr "Organizačná jednotka" + +msgid "Reason for Revocation" +msgstr "Dôvod pre revokáciu" + +#, 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=<${cn_name}>,O=<realm>, for example:
      # certutil -R -d <database path> -a -g " +"<key size> -s 'CN=${cn},O=${realm}'${san}
    4. Copy and " +"paste the CSR (from -----BEGIN NEW CERTIFICATE REQUEST----- to " +"-----END NEW CERTIFICATE REQUEST-----) into the text area below:
    " +msgstr "" +"
    1. Vytvorte databázu certifikátov alebo použite už existujúcu. " +"Vytvorenie novej databázy:
      # certutil -N -d <database path>" +"
    2. Vytvorte CSR so subjektom CN=<${cn_name}>,O=<" +"realm>, napríklad:
      # certutil -R -d <database path> " +"-a -g <key size> -s 'CN=${cn},O=${realm}'${san}
    3. " +"Nakopírujte CSR (od -----BEGIN NEW CERTIFICATE REQUEST----- do " +"-----END NEW CERTIFICATE REQUEST-----) do textového poľa nižšie:
    " + +msgid "Certificate Revoked" +msgstr "Certifikát revokovaný" + +msgid "Unspecified" +msgstr "Nešpecifikované" + +msgid "Valid Certificate Present" +msgstr "Prítomný platný certifikát" + +msgid "Validity" +msgstr "Platnosť" + +msgid "SELinux Options" +msgstr "SELinux voľby" + +msgid "Options" +msgstr "Voľby" + +msgid "DNS record was deleted because it contained no data." +msgstr "DNS záznam bol odstránený pretože neobsahoval žiadne údaje." + +msgid "Other Record Types" +msgstr "Ostatné typy záznamov" + +msgid "Address not valid, can't redirect" +msgstr "Neplatná adresa, nemôžem presmerovať" + +msgid "Create dns record" +msgstr "Vytvoriť DNS záznam" + +msgid "Creating record." +msgstr "Vytváranie záznamu." + +msgid "Record creation failed." +msgstr "Vytvorenie záznamu zlyhalo." + +msgid "Record not found." +msgstr "Záznam nenájdený" + +#, python-brace-format +msgid "Zone found: ${zone}" +msgstr "Zóna nájdená: ${zone}" + +msgid "Target reverse zone not found." +msgstr "Cieľová reverzná zóna nenájdená." + +msgid "Standard Record Types" +msgstr "Štandardné typy záznamov" + +msgid "Record Type" +msgstr "Typ záznamu" + +msgid "DNS Zone Settings" +msgstr "Nastavenia DNS zóny" + +msgid "Group Settings" +msgstr "Nastavenia skupiny" + +msgid "POSIX" +msgstr "POSIX" + +msgid "Group Type" +msgstr "Typ skupiny" + +msgid "Who" +msgstr "Kto" + +msgid "Access Denied" +msgstr "Prístup odmietnutý" + +msgid "Access Granted" +msgstr "Prístup povolený" + +msgid "HBAC Test" +msgstr "HBAC test" + +msgid "Rules" +msgstr "Pravidlá" + +msgid "Run Test" +msgstr "Spustiť test" + +msgid "Kerberos Key" +msgstr "Kerberos kľúč" + +msgid "Kerberos Key Not Present" +msgstr "Kerberos kľúč nie je prítomný" + +msgid "One-Time-Password" +msgstr "Jednorázové heslo (OTP)" + +msgid "Set OTP" +msgstr "Nastaviť OTP" + +msgid "Set One-Time-Password" +msgstr "Nastaviť jednorázové heslo (OTP)" + +msgid "Netgroup Settings" +msgstr "Netgroup nastavenia" + +msgid "Add OTP Token" +msgstr "Pridať OTP token" + +msgid "OTP Token Settings" +msgstr "Nastavenia pre OTP token" + +msgid "Show QR code" +msgstr "Zobraziť QR kód" + +msgid "Permission settings" +msgstr "Nastavenia oprávnenia" + +msgid "Privilege Settings" +msgstr "Nastavenia privilégia" + +msgid "Password Policy" +msgstr "Politika hesiel" + +msgid "IPA trust" +msgstr "IPA trust" + +msgid "Realm Domains" +msgstr "Realm domény" + +msgid "Role Settings" +msgstr "Nastavenia role" + +msgid "Server Roles" +msgstr "Serverové role" + +msgid "Server Role" +msgstr "Server rola" + +msgid "Service Certificate" +msgstr "Certifikát služby" + +msgid "Service Settings" +msgstr "Nastavenia služby" + +msgid "SSH public keys" +msgstr "Verejné SSH kľúče" + +msgid "SSH public key:" +msgstr "Verejný SSH kľuč" + +msgid "Set SSH key" +msgstr "Nastaviť SSH kľúč" + +msgid "Show/Set key" +msgstr "Zobraziť/Nastaviť kľúč" + +msgid "Modified" +msgstr "Modifikované" + +msgid "Preserved users" +msgstr "Uschovaný používatelia" + +msgid "Are you sure you want to restore selected users?" +msgstr "Ste si istý, že chcete obnoviť výbraných používateľov?" + +#, python-brace-format +msgid "${count} user(s) restored" +msgstr "${count} používateľov obnovených" + +msgid "User categories" +msgstr "Kategórie používateľov" + +msgid "Groups" +msgstr "Skupiny" + +msgid "Commands" +msgstr "Príkazy" + +msgid "Allow" +msgstr "Povoliť" + +msgid "Any Command" +msgstr "Akýkoľvek príkaz" + +msgid "Any Group" +msgstr "Akákoľvek skupina" + +msgid "Deny" +msgstr "Zakázať" + +msgid "Specified Groups" +msgstr "Špecifikované skupiny" + +msgid "Segment details" +msgstr "Detaily segmentu" + +msgid "Replication configuration" +msgstr "Konfigurácia repliky" + +msgid "Account" +msgstr "Účet" + +msgid "Domain" +msgstr "Doména" + +msgid "Account Settings" +msgstr "Nastavenia účtu" + +msgid "Account Status" +msgstr "Stav účtu" + +msgid "Active users" +msgstr "Aktívny používatelia" + +msgid "Contact Settings" +msgstr "Nastavenia kontaktných údajov" + +msgid "Delete mode" +msgstr "Mód odstránenia" + +msgid "Employee Information" +msgstr "Informácie o zamestnancovi" + +msgid "Password expiration" +msgstr "Vypršanie hesla" + +msgid "Mailing Address" +msgstr "Poštová adresa" + +msgid "Misc. Information" +msgstr "Rôzne informácie" + +msgid "delete" +msgstr "odstrániť" + +msgid "preserve" +msgstr "uschovať" + +msgid "Unlock" +msgstr "Odomknúť" + +#, python-brace-format +msgid "Are you sure you want to unlock user ${object}?" +msgstr "Ste si istý, že chcete odomknúť užívateľa ${object}?" + +msgid "Current Password" +msgstr "Súčasné heslo" + +msgid "Current password is required" +msgstr "Súčasné heslo je povinné" + +msgid "The password or username you entered is incorrect." +msgstr "Zadané heslo alebo prihlasovacie meno je nesprávne." + +msgid "New Password" +msgstr "Nové heslo" + +msgid "New password is required" +msgstr "Nové heslo je povinné" + +msgid "Token synchronization failed" +msgstr "Synchronizácia tokenu zlyhala" + +msgid "The username, password or token codes are not correct" +msgstr "Prihlasovacie meno, heslo alebo token sú nesprávne" + +msgid "Token was synchronized" +msgstr "Token bol zosynchronizovaný" + +msgid "Password or Password+One-Time-Password" +msgstr "Heslo alebo heslo + jednorázové heslo (OTP)" + +msgid "Password change complete" +msgstr "Zmena hesla dokončená" + +msgid "Passwords must match" +msgstr "Heslá sa musia zhodovať" + +msgid "Reset Password" +msgstr "Obnoviť heslo" + +msgid "Reset your password." +msgstr "Obnoviť Vaše heslo." + +msgid "Second OTP" +msgstr "Druhé OTP" + +msgid "Verify Password" +msgstr "Overiť heslo" + +msgid "Are you sure you want to delete selected entries?" +msgstr "Ste si istý, že chcete odstrániť vybrané položky?" + +#, python-brace-format +msgid "${count} item(s) deleted" +msgstr "${count} položiek odstránených" + +msgid "Some entries were not deleted" +msgstr "Niektoré položky neboli odstránené" + +msgid "Select All" +msgstr "Označiť všetko" + +msgid "Unselect All" +msgstr "Odznačiť všetko" + +msgid "Audit" +msgstr "Audit" + +msgid "Authentication" +msgstr "Autentifikácia" + +msgid "Automount" +msgstr "Automount" + +msgid "DNS" +msgstr "DNS" + +msgid "Host Based Access Control" +msgstr "Host Based Access Control" + +msgid "Identity" +msgstr "Identita" + +msgid "IPA Server" +msgstr "IPA Server" + +msgid "Network Services" +msgstr "Sieťové služby" + +msgid "Policy" +msgstr "Politika" + +msgid "Not a valid IP address" +msgstr "Neplatná IP adresa" + +msgid "Not a valid IPv4 address" +msgstr "Neplatná IPv4 adresa" + +msgid "Not a valid IPv6 address" +msgstr "Neplatná IPv6 adresa" + +#, python-brace-format +msgid "Maximum value is ${value}" +msgstr "Maximálna hodnota je ${value}" + +#, python-brace-format +msgid "Minimum value is ${value}" +msgstr "Minimálna hodnota je ${value}" + +msgid "Not a valid network address (examples: 2001:db8::/64, 192.0.2.0/24)" +msgstr "Neplatná sieťová adresa (príklady: 2001:db8::/64, 192.0.2.0/24)" + +#, python-brace-format +msgid "'${port}' is not a valid port" +msgstr "'${port}' nie je valídny port" + +msgid "Required field" +msgstr "Povinné pole" + +msgid "Unsupported value" +msgstr "Nepodporovaná hodnota" + +msgid "The IPA realm" +msgstr "IPA realm" + +msgid "kerberos ticket policy settings" +msgstr "nastavenia kerberos ticket policy" + +msgid "Malformed DN" +msgstr "Poškodené DN" + +#, python-format +msgid "%(user)s is not a POSIX user" +msgstr "%(user)s nie je POSIX užívateľ" + +msgid "Invalid LDAP URI." +msgstr "Neplatná LDAP URI." + +msgid "LDAP URI" +msgstr "LDAP URI" + +msgid "Overwrite GID" +msgstr "Prepísať GID" + +msgid "LDAP schema" +msgstr "LDAP schéma" + +msgid "Continue" +msgstr "Pokračovať" + +msgid "CA certificate" +msgstr "CA certifikát" + +msgid "Add to default group" +msgstr "Pridať do predvolenej skupiny" + +msgid "Search scope" +msgstr "Rozsah vyhľadávania" + +msgid "Default group for new users not found" +msgstr "Predvolená skupina pre nových používateľov nenájdená" + +msgid "NIS domain name" +msgstr "NIS doménové meno" + +msgid "IPA unique ID" +msgstr "IPA unikátne ID" + +msgid "OTP Configuration" +msgstr "OTP konfigurácia" + +msgid "" +"\n" +"OTP Tokens\n" +msgstr "" +"\n" +"OTP tokeny\n" + +msgid "OTP token" +msgstr "OTP token" + +msgid "OTP tokens" +msgstr "OTP tokeny" + +msgid "OTP Tokens" +msgstr "OTP tokeny" + +msgid "OTP Token" +msgstr "OTP token" + +msgid "Unique ID" +msgstr "Unikátne ID" + +msgid "Type of the token" +msgstr "Typ tokenu" + +msgid "Owner" +msgstr "Vlastník" + +msgid "Validity start" +msgstr "Začiatok platnosti" + +msgid "Validity end" +msgstr "Koniec platnosti" + +msgid "Length of TOTP token code validity" +msgstr "Dĺžka platnosti TOTP token kódu" + +msgid "URI" +msgstr "URI" + +msgid "Delete an OTP token." +msgstr "Odstrániť OTP token" + +#, python-format +msgid "Deleted OTP token \"%(value)s\"" +msgstr "Odstránený OTP token \"%(value)s\"" + +msgid "Modify a OTP token." +msgstr "Upraviť OTP token" + +#, python-format +msgid "Modified OTP token \"%(value)s\"" +msgstr "Upravený OTP token \"%(value)s\"" + +msgid "Search for OTP token." +msgstr "Vyhľadať OTP token" + +#, python-format +msgid "Entry %s not found" +msgstr "Položka %s nenájdená" + +#, python-format +msgid "The ACI for permission %(name)s was not found in %(dn)s " +msgstr "ACI pre oprávnenie %(name)s sa nenašlo v %(dn)s " + +#, python-format +msgid "%s: group not found" +msgstr "%s: skupina nenájdená" + +#, python-format +msgid "ACI of permission %s was not found" +msgstr "ACI pre oprávnenie %s sa nenašlo" + +msgid "password policies" +msgstr "Politky hesiel" + +msgid "Password Policies" +msgstr "Politiky hesiel" + +msgid "Role name" +msgstr "Názov role" + +msgid "Required" +msgstr "Povinné" + +msgid "SELinux User" +msgstr "SELinux používateľ" + +#, python-format +msgid "HBAC rule %(rule)s not found" +msgstr "HBAC pravidlo %(rule)s nenájdené" + +msgid "Weight for server services" +msgstr "Váha pre služby servera" + +msgid "IPA server role name" +msgstr "Názov role servera" + +msgid "IPA role name" +msgstr "Názov IPA role" + +#, python-brace-format +msgid "{role}: role not found" +msgstr "{role}: rola nenájdená" + +msgid "sudo commands" +msgstr "sudo príkazy" + +msgid "Sudo Commands" +msgstr "Sudo príkazy" + +msgid "Search for Sudo Commands." +msgstr "Vyhľadať sudo príkazy." + +msgid "sudo rules" +msgstr "sudo pravidlá" + +msgid "Sudo Rules" +msgstr "Sudo pravidlá" + +msgid "NetBIOS name" +msgstr "NetBIOS meno" + +msgid "SID" +msgstr "SID" + +msgid "Domain name" +msgstr "Doménové meno" + +msgid "Preserved user" +msgstr "Uschovaný používateľ" + +#, python-format +msgid "%s: user is already preserved" +msgstr "%s: používateľ je už uschovaný" diff --git a/install/po/tg.po b/install/po/tg.po index b4dbffb..d89f082 100644 --- a/install/po/tg.po +++ b/install/po/tg.po @@ -7,19 +7,31 @@ msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\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.7.3\n" +"X-Generator: Zanata 3.8.4\n" + +#, python-format +msgid "File %(file)s not found" +msgstr "Файли %(file)s пайдо нашуд." + +msgid "Delete all?" +msgstr "Ҳамаро нест мекунед?" + +msgid "Password" +msgstr "Парол" + +msgid "Data" +msgstr "Маълумот" #, c-format msgid "Passwords do not match!" @@ -72,19 +84,12 @@ msgstr "Шарҳ" msgid "Location" msgstr "Макон" -#, python-format -msgid "File %(file)s not found" -msgstr "Файли %(file)s пайдо нашуд." - msgid "Key" msgstr "Тугма" msgid "description" msgstr "шарҳ" -msgid "Password" -msgstr "Парол" - msgid "Entry" msgstr "Вуруд" @@ -127,9 +132,6 @@ msgstr "Синф" msgid "Enabled" msgstr "Фаъолшуда" -msgid "Principal" -msgstr "Асосӣ" - msgid "Subject" msgstr "Мавзӯъ" @@ -139,12 +141,15 @@ msgstr "Диҳанда" msgid "Serial number" msgstr "Рақами силсилавӣ" -msgid "Error" -msgstr "Хатогӣ" +msgid "Principal" +msgstr "Асосӣ" msgid "Status" msgstr "Ҳолат" +msgid "Error" +msgstr "Хатогӣ" + msgid "Configuration" msgstr "Ҷӯрсозӣ" @@ -160,9 +165,6 @@ msgstr "Хидмат" msgid "Force" msgstr "Маҷбурӣ" -msgid "Delete all?" -msgstr "Ҳамаро нест мекунед?" - msgid "User name" msgstr "Номи корбар" @@ -244,9 +246,6 @@ msgstr "Ташкилот" msgid "Validity" msgstr "Саҳеҳият" -msgid "Data" -msgstr "Маълумот" - msgid "Host Name" msgstr "Номи мизбон" diff --git a/install/po/uk.po b/install/po/uk.po index cb7f870..e0ba819 100644 --- a/install/po/uk.po +++ b/install/po/uk.po @@ -7,638 +7,1512 @@ # Petr Viktorin , 2014 # Yuri Chornoivan , 2011-2014 # Yuri Chornoivan , 2015. #zanata +# Martin Bašti , 2016. #zanata +# Yuri Chornoivan , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\n" +"PO-Revision-Date: 2016-06-14 07:27-0400\n" +"Last-Translator: Martin Bašti \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.7.3\n" - -#, python-format -msgid "Enter %(label)s again to verify: " -msgstr "Введіть %(label)s ще раз для перевірки: " - -#, c-format -msgid "Passwords do not match!" -msgstr "Паролі не збігаються!" - -msgid "No matching entries found" -msgstr "Відповідних записів не знайдено" - -msgid "Topic or Command" -msgstr "Тема або команда" +"X-Generator: Zanata 3.8.4\n" -msgid "The topic or command name." -msgstr "Назва теми або команди." +msgid "Failed to add" +msgstr "Не вдалося додати" -msgid "Topic commands:" -msgstr "Команди теми:" +msgid "maps not connected to /etc/auto.master:" +msgstr "карти, не з’єднані з /etc/auto.master:" -msgid "To get command help, use:" -msgstr "Щоб отримати довідку щодо команди, скористайтеся такою командою:" +msgid "Import automount files for a specific location." +msgstr "Імпортувати файли automount для певної адреси." -msgid " ipa --help" -msgstr " ipa <команда> --help" +msgid "Master file" +msgstr "Основний файл" -msgid "Command name" -msgstr "Назва команди" +msgid "Automount master file." +msgstr "Основний файл automount." -msgid "Positional arguments" -msgstr "Обов’язкові аргументи" +msgid "" +"Continuous operation mode. Errors are reported but the process continues." +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 "File %(file)s not found" +msgstr "Файла %(file)s не знайдено" #, python-format -msgid "%(cver)s client incompatible with %(sver)s server at '%(server)s'" -msgstr "Клієнт %(cver)s є несумісним з сервером %(sver)s на «%(server)s»" +msgid "key %(key)s already exists" +msgstr "запис ключа %(key)s вже існує" #, python-format -msgid "unknown error %(code)d from %(server)s: %(error)s" -msgstr "%(server)s повідомляє про невідому помилку %(code)d: %(error)s" +msgid "map %(map)s already exists" +msgstr "запис карти %(map)s вже існує" -msgid "an internal error has occurred" -msgstr "сталася внутрішня помилка" +msgid "Imported maps:" +msgstr "Імпортовані карти:" #, python-format -msgid "an internal error has occurred on server at '%(server)s'" -msgstr "на сервері «%(server)s» сталася внутрішня помилка" +msgid "Added %(map)s" +msgstr "Додано %(map)s" -#, python-format -msgid "unknown command '%(name)s'" -msgstr "невідома команда: «%(name)s»" +msgid "Imported keys:" +msgstr "Імпортовані ключі:" #, python-format -msgid "error on server '%(server)s': %(error)s" -msgstr "помилка на сервері «%(server)s»: %(error)s" +msgid "Added %(src)s to %(dst)s" +msgstr "Додано %(src)s до %(dst)s" -#, python-format -msgid "cannot connect to '%(uri)s': %(error)s" -msgstr "не вдалося встановити з’єднання з «%(uri)s»: %(error)s" +msgid "Ignored keys:" +msgstr "Проігноровані ключі:" #, python-format -msgid "Invalid JSON-RPC request: %(error)s" -msgstr "некоректний запит JSON-RPC: %(error)s" +msgid "Ignored %(src)s to %(dst)s" +msgstr "Проігноровано %(src)s до %(dst)s" + +msgid "Duplicate maps skipped:" +msgstr "Пропущені дублікати карт:" #, python-format -msgid "error marshalling data for XML-RPC transport: %(error)s" -msgstr "" -"помилка під час розміщення даних для каналу передавання XML-RPC: %(error)s" +msgid "Skipped %(map)s" +msgstr "Пропущено %(map)s" + +msgid "Duplicate keys skipped:" +msgstr "Пропущені дублікати ключів:" #, python-format -msgid "Missing or invalid HTTP Referer, %(referer)s" -msgstr "Не вказано HTTP Referer або вказано помилкове значення, %(referer)s" +msgid "Skipped %(key)s" +msgstr "Пропущено %(key)s" #, python-format -msgid "Kerberos error: %(major)s/%(minor)s" -msgstr "Помилка Kerberos: %(major)s/%(minor)s" +msgid "Profile configuration stored in file '%(file)s'" +msgstr "Налаштування профілів збережено до файла «%(file)s»" -msgid "did not receive Kerberos credentials" -msgstr "не отримано реєстраційних даних Kerberos" +msgid "Please choose a type of DNS resource record to be added" +msgstr "Будь ласка, виберіть тип запису ресурсу DNS, який слід додати" #, python-format -msgid "Service '%(service)s' not found in Kerberos database" -msgstr "У базі даних Kerberos не виявлено служби «%(service)s»" - -msgid "No credentials cache found" -msgstr "Не знайдено кешу реєстраційних даних" +msgid "The most common types for this type of zone are: %s\n" +msgstr "Найпоширенішими типами для цього типу зон є: %s\n" -msgid "Ticket expired" -msgstr "Сплив строк дії квитка" +msgid "DNS resource record type" +msgstr "Тип запису ресурсу DNS" -msgid "Credentials cache permissions incorrect" -msgstr "Помилкові права доступу до кешу реєстраційних даних" +#, python-format +msgid "Invalid or unsupported type. Allowed values are: %s" +msgstr "Некоректний або непідтримуваний тип. Дозволені значення: %s" -msgid "Bad format in credentials cache" -msgstr "Помилковий формат кешу реєстраційних даних" +msgid "No option to modify specific record provided." +msgstr "Можливості внесення змін у певний запис не передбачено." -msgid "Cannot resolve KDC for requested realm" -msgstr "Не вдалося визначити KDC для бажаної області (realm)" +msgid "Current DNS record contents:\n" +msgstr "Поточний вміст запису DNS:\n" -msgid "Session error" -msgstr "Помилка сеансу" +#, python-format +msgid "Modify %(name)s '%(value)s'?" +msgstr "Змінити значення «%(value)s» %(name)s?" #, python-format -msgid "Principal %(principal)s cannot be authenticated: %(message)s" +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] "" +"Пропущено %(count)d %(type)s запис. Одночасно можна змінювати лише одне " +"значення на тип запису DNS." +msgstr[1] "" +"Пропущено %(count)d %(type)s записи. Одночасно можна змінювати лише одне " +"значення на тип запису DNS." +msgstr[2] "" +"Пропущено %(count)d %(type)s записів. Одночасно можна змінювати лише одне " +"значення на тип запису DNS." + +msgid "" +"Neither --del-all nor options to delete a specific record provided.\n" +"Command help may be consulted for all supported record types." msgstr "" -"Не вдалося виконати розпізнавання для реєстраційного запису %(principal)s: " -"%(message)s" +"Не надано ні --del-all, ні параметрів вилучення певного запису.\n" +"Всі підтримувані типи записів можна знайти у виводі команди help." -#, python-format -msgid "Insufficient access: %(info)s" -msgstr "Недостатні права для доступу: %(info)s" +msgid "No option to delete specific record provided." +msgstr "Не вказано параметр вилучення певного запису." -#, python-format -msgid "command '%(name)s' takes no arguments" -msgstr "команда «%(name)s» не приймає ніяких аргументів" +msgid "Delete all?" +msgstr "Вилучити все?" #, 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] "команда «%(name)s» приймає не більше %(count)d аргументу" -msgstr[1] "команда «%(name)s» приймає не більше %(count)d аргументів" -msgstr[2] "команда «%(name)s» приймає не більше %(count)d аргументів" +msgid "Delete %(name)s '%(value)s'?" +msgstr "Вилучити значення «%(value)s» %(name)s?" -#, python-format -msgid "overlapping arguments and options: %(names)s" -msgstr "перекриття аргументів і параметрів: %(names)s" +msgid "Server will check DNS forwarder(s)." +msgstr "Сервер перевірятиме засоби переспрямовування DNS." -#, python-format -msgid "'%(name)s' is required" -msgstr "Слід вказати «%(name)s»" +msgid "This may take some time, please wait ..." +msgstr "Це доволі тривала дія. Будь ласка, зачекайте…" #, python-format -msgid "invalid '%(name)s': %(error)s" -msgstr "некоректне «%(name)s»: %(error)s" +msgid "Certificate(s) stored in file '%(file)s'" +msgstr "Сертифікати, що зберігаються у файлі «%(file)s»" -#, python-format -msgid "api has no such namespace: '%(name)s'" -msgstr "api не надає такого простору назв: «%(name)s»" +msgid "Servers details:" +msgstr "Параметри сервера:" -msgid "Passwords do not match" -msgstr "Паролі не збігаються" +msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." +msgstr "" +"Режим міграції вимкнено. Скористайтеся командою «ipa config-mod», щоб " +"увімкнути його." -msgid "Command not implemented" -msgstr "Команду не реалізовано" +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 "" +"Міграцію записів паролів здійснено у форматі до хешування.\n" +"IPA не вдасться створити ключі Kerberos, якщо не буде\n" +"надано текстових паролів. Всім користувачам з перенесеними\n" +"записами, доведеться пройти розпізнавання на\n" +"https://your.domain/ipa/migration/ до того, як вони зможуть\n" +"скористатися обліковими записами Kerberos." -msgid "Client is not configured. Run ipa-client-install." +msgid "" +"Unable to display QR code using the configured output encoding. Please use " +"the token URI to configure your OTP device" msgstr "" -"Клієнтську частину не налаштовано. Віддайте команду ipa-client-install." +"Неможливо показати код QR за допомогою налаштованого кодування виведення " +"результатів. Будь ласка, скористайтеся адресою ключа для налаштовування " +"вашого пристрою OTP" -#, python-format -msgid "Could not get %(name)s interactively" -msgstr "Не вдалося отримати %(name)s у інтерактивному режимі" +msgid "" +"QR code width is greater than that of the output tty. Please resize your " +"terminal." +msgstr "" +"QR code width is greater than that of the output tty. Please resize your " +"terminal." -#, python-format -msgid "Command '%(name)s' has been deprecated" -msgstr "Команда «%(name)s» вважається застарілою" +msgid "Synchronize an OTP token." +msgstr "Синхронізувати жетон OTP." -#, python-format -msgid "Domain '%(domain)s' is not a root domain for forest '%(forest)s'" -msgstr "Домен «%(domain)s» не є кореневим доменом для лісу «%(forest)s»" +msgid "User ID" +msgstr "Ід. користувача" -#, python-format -msgid "%(reason)s" -msgstr "%(reason)s" +msgid "Password" +msgstr "Пароль" -msgid "This entry already exists" -msgstr "Цей запис вже існує" +msgid "First Code" +msgstr "Перший код" -msgid "You must enroll a host in order to create a host service" -msgstr "Щоб створити службу вузла, вам слід зареєструвати вузол" +msgid "Second Code" +msgstr "Другий код" + +msgid "Token ID" +msgstr "Ідентифікатор жетона" -#, python-format msgid "" -"Service principal is not of the form: service/fully-qualified host name: " -"%(reason)s" +"\n" +"YubiKey Tokens\n" msgstr "" -"Реєстраційний запис служби вказано у формі, відмінній від: служба/повна " -"назва вузла: %(reason)s" +"\n" +"Маркери YubiKey\n" msgid "" -"The realm for the principal does not match the realm for this IPA server" +"\n" +"Manage YubiKey tokens.\n" msgstr "" -"Область дії реєстраційного запису не збігається з областю цього сервера IPA" - -msgid "This command requires root access" -msgstr "Для виконання цієї команди потрібні права доступу користувача root" +"\n" +"Керування жетонами YubiKey.\n" + +msgid "" +"\n" +"This code is an extension to the otptoken plugin and provides support for\n" +"reading/writing YubiKey tokens directly.\n" +msgstr "" +"\n" +"Цей код є розширенням до додатка otptoken, він надає підтримку " +"безпосереднього\n" +"читання та запису жетонів YubiKey.\n" + +msgid "" +"\n" +"EXAMPLES:\n" +msgstr "" +"\n" +"ПРИКЛАДИ:\n" + +msgid "" +"\n" +" Add a new token:\n" +" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" +msgstr "" +"\n" +" Додати новий жетон:\n" +" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" + +msgid "Add a new YubiKey OTP token." +msgstr "Додати новий жетон OTP YubiKey." + +msgid "YubiKey slot" +msgstr "Слот YubiKey" + +msgid "No free YubiKey slot!" +msgstr "Немає вільних слотів YubiKey!" + +#, python-format +msgid "Removing %(servers)s from replication topology, please wait..." +msgstr "Вилучаємо %(servers)s з топології реплікації, будь ласка, зачекайте…" + +#, python-format +msgid "Enabled Sudo Rule \"%s\"" +msgstr "Увімкнено правило sudo «%s»" + +#, python-format +msgid "Disabled Sudo Rule \"%s\"" +msgstr "Вимкнено правило «%s»" + +#, python-format +msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" +msgstr "До правила sudo «%(rule)s» додано параметр «%(option)s»" + +#, python-format +msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\"" +msgstr "З правила sudo «%(rule)s» вилучено параметр «%(option)s»" + +#, python-format +msgid "Replication topology of suffix \"%(suffix)s\" is in order." +msgstr "Топологія реплікації суфікса «%(suffix)s» у порядку." + +#, python-format +msgid "Replication topology of suffix \"%(suffix)s\" contains errors." +msgstr "Топологія реплікації суфікса «%(suffix)s» містить помилки." + +msgid "Topology is disconnected" +msgstr "Топологію від’єднано" + +#, python-format +msgid "Server %(srv)s can't contact servers: %(replicas)s" +msgstr "Сервер %(srv)s не може встановити зв’язок із серверами: %(replicas)s" + +msgid "Recommended maximum number of agreements per replica exceeded" +msgstr "Перевищено рекомендовану максимальну кількість узгоджень на репліку" + +msgid "Maximum number of agreements per replica" +msgstr "Максимальна кількість узгоджень на репліку" + +#, python-format +msgid "Server \"%(srv)s\" has %(n)d agreements with servers:" +msgstr "Сервер «%(srv)s» має %(n)d узгоджень із такими серверами:" + +msgid "Delete a user, keeping the entry available for future use" +msgstr "Вилучити користувача, зберігаючи запис для наступного використання" + +msgid "Delete a user" +msgstr "Вилучити користувача" + +msgid "preserve and no-preserve cannot be both set" +msgstr "" +"не можна одночасно встановлювати ознаку зарезервованості та " +"незарезервованості" + +#, python-format +msgid "Cannot read file '%(filename)s': %(exc)s" +msgstr "Не вдалося прочитати файл «%(filename)s»: %(exc)s" + +#, python-format +msgid "Cannot decode file '%(filename)s': %(exc)s" +msgstr "Не вдалося розшифрувати файл «%(filename)s»: %(exc)s" + +msgid "Invalid credentials" +msgstr "Реєстраційні дані вказано з помилками" + +msgid "Create a new vault." +msgstr "Створити сховище." + +msgid "Vault password" +msgstr "Пароль до сховища" + +msgid "File containing the vault password" +msgstr "Файл, який містить пароль до сховища" + +msgid "File containing the vault public key" +msgstr "Файл, який містить відкритий ключ сховища" + +msgid "Password can be specified only for symmetric vault" +msgstr "Пароль можна вказувати лише для симетричного сховища" + +msgid "Public key can be specified only for asymmetric vault" +msgstr "Відкритий ключ можна вказувати лише для асиметричного сховища" + +msgid "Password specified multiple times" +msgstr "Пароль вказано декілька разів" + +msgid "Public key specified multiple times" +msgstr "Відкритий ключ вказано декілька разів" + +msgid "Missing vault public key" +msgstr "Не вказано відкритого ключа сховища" + +#, python-format +msgid "Invalid or unsupported vault public key: %s" +msgstr "Некоректний або непідтримуваний відкритий ключ сховища: %s" + +msgid "Modify a vault." +msgstr "Змінити сховище." + +msgid "Change password" +msgstr "Змінити пароль" + +msgid "Old vault password" +msgstr "Старий пароль до сховища" + +msgid "File containing the old vault password" +msgstr "Файл, який містить старий пароль до сховища" + +msgid "New vault password" +msgstr "Новий пароль до сховища" + +msgid "File containing the new vault password" +msgstr "Файл, який містить новий пароль до сховища" + +msgid "Old vault private key" +msgstr "Старий закритий ключ сховища" + +msgid "File containing the old vault private key" +msgstr "Файл, який містить старий закритий ключ сховища" + +msgid "File containing the new vault public key" +msgstr "Файл, який містить новий відкритий ключ сховища" + +msgid "New public key specified multiple times" +msgstr "Новий відкритий ключ вказано декілька разів" + +msgid "Missing new vault public key" +msgstr "Не вказано нового відкритого ключа сховища" + +msgid "Archive data into a vault." +msgstr "Архівувати дані до сховища." + +msgid "Binary data to archive" +msgstr "Двійкові дані для архівування" + +msgid "File containing data to archive" +msgstr "Файл, що містить дані для архівування" + +msgid "Override existing password" +msgstr "Перевизначити наявний пароль" + +msgid "Input data specified multiple times" +msgstr "Вхідні дані вказано декілька разів" + +#, python-format +msgid "" +"Size of data exceeds the limit. Current vault data size limit is %(limit)d B" +msgstr "" +"Об’єм даних перевищує обмеження. Поточне обмеження об’єму сховища — " +"%(limit)d Б" + +msgid "Invalid vault type" +msgstr "Некоректний тип сховища" + +msgid "Retrieve a data from a vault." +msgstr "Отримати дані зі сховища." + +msgid "File to store retrieved data" +msgstr "Файл для зберігання отриманих даних" + +msgid "Vault private key" +msgstr "Закритий ключ сховища" + +msgid "File containing the vault private key" +msgstr "Файл, який містить закритий ключ сховища" + +msgid "Data" +msgstr "Дані" + +msgid "Private key specified multiple times" +msgstr "Закритий ключ вказано декілька разів" + +msgid "Missing vault private key" +msgstr "Не вказано закритого ключа сховища" + +msgid "Failed members" +msgstr "Помилка members" + +msgid "Failed source hosts/hostgroups" +msgstr "Помилка hosts/hostgroups джерела" + +msgid "Failed hosts/hostgroups" +msgstr "Помилка hosts/hostgroups" + +msgid "Failed users/groups" +msgstr "Помилка users/groups" + +msgid "Failed service/service groups" +msgstr "Помилки служб/груп служб" + +msgid "Failed to remove" +msgstr "Спроба вилучення зазнала невдачі" + +msgid "Failed RunAs" +msgstr "Помилка запуску від імені" + +msgid "Failed RunAsGroup" +msgstr "Помилка запуску від імені групи" + +msgid "Failed profiles" +msgstr "Профілі із помилками" + +msgid "Failed CAs" +msgstr "Помилкові CA" + +msgid "Failed managedby" +msgstr "Помилка managedby" + +msgid "Failed allowed to retrieve keytab" +msgstr "Не вдалося дозволити отримувати таблицю ключів" + +msgid "Failed allowed to create keytab" +msgstr "Не вдалося дозволити створювати таблицю ключів" + +msgid "Failed targets" +msgstr "Помилкові цілі" + +msgid "Failed owners" +msgstr "Записи власників із помилками" + +#, python-format +msgid "Enter %(label)s again to verify: " +msgstr "Введіть %(label)s ще раз для перевірки: " + +#, c-format +msgid "Passwords do not match!" +msgstr "Паролі не збігаються!" + +msgid "No matching entries found" +msgstr "Відповідних записів не знайдено" + +msgid "Topic or Command" +msgstr "Тема або команда" + +msgid "The topic or command name." +msgstr "Назва теми або команди." + +msgid "Topic commands:" +msgstr "Команди теми:" + +msgid "To get command help, use:" +msgstr "Щоб отримати довідку щодо команди, скористайтеся такою командою:" + +msgid " ipa --help" +msgstr " ipa <команда> --help" + +msgid "Command name" +msgstr "Назва команди" + +msgid "Positional arguments" +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 "" +"Рядок, пошук якого відбуватиметься у всіх відповідних атрибутах об’єктів" + +#, python-format +msgid "%(cver)s client incompatible with %(sver)s server at '%(server)s'" +msgstr "Клієнт %(cver)s є несумісним з сервером %(sver)s на «%(server)s»" + +#, python-format +msgid "unknown error %(code)d from %(server)s: %(error)s" +msgstr "%(server)s повідомляє про невідому помилку %(code)d: %(error)s" + +msgid "an internal error has occurred" +msgstr "сталася внутрішня помилка" + +#, python-format +msgid "an internal error has occurred on server at '%(server)s'" +msgstr "на сервері «%(server)s» сталася внутрішня помилка" + +#, python-format +msgid "unknown command '%(name)s'" +msgstr "невідома команда: «%(name)s»" + +#, python-format +msgid "error on server '%(server)s': %(error)s" +msgstr "помилка на сервері «%(server)s»: %(error)s" + +#, python-format +msgid "cannot connect to '%(uri)s': %(error)s" +msgstr "не вдалося встановити з’єднання з «%(uri)s»: %(error)s" + +#, python-format +msgid "Invalid JSON-RPC request: %(error)s" +msgstr "некоректний запит JSON-RPC: %(error)s" + +#, python-format +msgid "error marshalling data for XML-RPC transport: %(error)s" +msgstr "" +"помилка під час розміщення даних для каналу передавання XML-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 "did not receive Kerberos credentials" +msgstr "не отримано реєстраційних даних Kerberos" + +#, python-format +msgid "Service '%(service)s' not found in Kerberos database" +msgstr "У базі даних Kerberos не виявлено служби «%(service)s»" + +msgid "No credentials cache found" +msgstr "Не знайдено кешу реєстраційних даних" + +msgid "Ticket expired" +msgstr "Сплив строк дії квитка" + +msgid "Credentials cache permissions incorrect" +msgstr "Помилкові права доступу до кешу реєстраційних даних" + +msgid "Bad format in credentials cache" +msgstr "Помилковий формат кешу реєстраційних даних" + +msgid "Cannot resolve KDC for requested realm" +msgstr "Не вдалося визначити KDC для бажаної області (realm)" + +msgid "Session error" +msgstr "Помилка сеансу" + +#, python-format +msgid "Principal %(principal)s cannot be authenticated: %(message)s" +msgstr "" +"Не вдалося виконати розпізнавання для реєстраційного запису %(principal)s: " +"%(message)s" + +#, python-format +msgid "Insufficient access: %(info)s" +msgstr "Недостатні права для доступу: %(info)s" + +#, python-format +msgid "command '%(name)s' takes no arguments" +msgstr "команда «%(name)s» не приймає ніяких аргументів" + +#, 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] "команда «%(name)s» приймає не більше %(count)d аргументу" +msgstr[1] "команда «%(name)s» приймає не більше %(count)d аргументів" +msgstr[2] "команда «%(name)s» приймає не більше %(count)d аргументів" + +#, python-format +msgid "overlapping arguments and options: %(names)s" +msgstr "перекриття аргументів і параметрів: %(names)s" + +#, python-format +msgid "'%(name)s' is required" +msgstr "Слід вказати «%(name)s»" + +#, python-format +msgid "invalid '%(name)s': %(error)s" +msgstr "некоректне «%(name)s»: %(error)s" + +#, python-format +msgid "api has no such namespace: '%(name)s'" +msgstr "api не надає такого простору назв: «%(name)s»" + +msgid "Passwords do not match" +msgstr "Паролі не збігаються" + +msgid "Command not implemented" +msgstr "Команду не реалізовано" + +msgid "Client is not configured. Run ipa-client-install." +msgstr "" +"Клієнтську частину не налаштовано. Віддайте команду ipa-client-install." + +#, python-format +msgid "Could not get %(name)s interactively" +msgstr "Не вдалося отримати %(name)s у інтерактивному режимі" + +#, python-format +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" + +msgid "This entry already exists" +msgstr "Цей запис вже існує" + +msgid "You must enroll a host in order to create a host service" +msgstr "Щоб створити службу вузла, вам слід зареєструвати вузол" + +#, python-format +msgid "" +"Service principal is not of the form: service/fully-qualified host name: " +"%(reason)s" +msgstr "" +"Реєстраційний запис служби вказано у формі, відмінній від: служба/повна " +"назва вузла: %(reason)s" + +msgid "" +"The realm for the principal does not match the realm for this IPA server" +msgstr "" +"Область дії реєстраційного запису не збігається з областю цього сервера IPA" + +msgid "This command requires root access" +msgstr "Для виконання цієї команди потрібні права доступу користувача root" msgid "This is already a posix group" msgstr "Вже є posix-групою" #, python-format -msgid "Principal is not of the form user@REALM: '%(principal)s'" +msgid "Principal is not of the form user@REALM: '%(principal)s'" +msgstr "" +"Реєстраційний запис вказано у формі, відмінній від користувач@ОБЛАСТЬ: " +"«%(principal)s»" + +msgid "This entry is already enabled" +msgstr "Цей запис вже увімкнено" + +msgid "This entry is already disabled" +msgstr "Цей запис вже вимкнено" + +msgid "This entry cannot be enabled or disabled" +msgstr "Цей запис не можна вмикати або вимикати" + +msgid "This entry is not a member" +msgstr "Цього запису немає серед учасників" + +msgid "A group may not be a member of itself" +msgstr "Група не може бути елементом самої себе" + +msgid "This entry is already a member" +msgstr "Цей запис вже є серед учасників" + +#, python-format +msgid "Base64 decoding failed: %(reason)s" +msgstr "Помилка декодування Base64: %(reason)s" + +msgid "A group may not be added as a member of itself" +msgstr "Групу не може бути додано як елемент самої себе" + +msgid "The default users group cannot be removed" +msgstr "Не можна вилучати типову групу користувачів" + +msgid "Deleting a managed group is not allowed. It must be detached first." +msgstr "Вилучення керованих груп заборонено. Спочатку групу слід від’єднати." + +msgid "A managed group cannot have a password policy." +msgstr "У керованої групи не може бути власних правил для паролів." + +#, python-format +msgid "'%(entry)s' doesn't have a certificate." +msgstr "«%(entry)s» не містить сертифіката." + +#, python-format +msgid "Unable to create private group. A group '%(group)s' already exists." +msgstr "Не вдалося створити закриту групу. Група «%(group)s» вже існує." + +#, python-format +msgid "" +"A problem was encountered when verifying that all members were %(verb)s: " +"%(exc)s" +msgstr "" +"Під час перевірки виявлено проблему, всі записи учасників %(verb)s: %(exc)s" + +#, python-format +msgid "%(attr)s does not contain '%(value)s'" +msgstr "%(attr)s не містить «%(value)s»" + +#, python-format +msgid "" +"The search criteria was not specific enough. Expected 1 and found %(found)d." +msgstr "" +"Критерій пошуку не був достатньо точним. Мало бути вказано один критерій, " +"виявлено — %(found)d." + +msgid "This group already allows external members" +msgstr "У цій групі вже дозволено зовнішніх учасників" + +msgid "This group cannot be posix because it is external" +msgstr "Ця група не може належати до груп POSIX, оскільки є зовнішньою" + +msgid "This is already a posix group and cannot be converted to external one" +msgstr "" +"Ця група вже належить до груп POSIX, отже її не можна перетворити на зовнішню" + +#, python-format +msgid "Server removal aborted: %(reason)s." +msgstr "Вилучення сервера перервано: %(reason)s." + +#, python-format +msgid "no command nor help topic '%(topic)s'" +msgstr "не виявлено ні команди, ні запису довідки «%(topic)s»" + +msgid "change collided with another change" +msgstr "зміна конфліктує з іншою внесеною зміною" + +msgid "no modifications to be performed" +msgstr "змін не внесено" + +#, python-format +msgid "%(desc)s: %(info)s" +msgstr "%(desc)s: %(info)s" + +msgid "limits exceeded for this query" +msgstr "цим запитом перевищено обмеження" + +#, python-format +msgid "%(info)s" +msgstr "%(info)s" + +msgid "modifying primary key is not allowed" +msgstr "зміну основного ключа заборонено" + +#, python-format +msgid "%(attr)s: Only one value allowed." +msgstr "%(attr)s: можна використовувати лише одне значення." + +#, python-format +msgid "%(attr)s: Invalid syntax." +msgstr "%(attr)s: некоректний синтаксис." + +#, python-format +msgid "Bad search filter %(info)s" +msgstr "Помилковий фільтр пошуку %(info)s" + +msgid "Not allowed on non-leaf entry" +msgstr "Заборонено для записів, які не є записами листків (leaf)" + +msgid "LDAP timeout" +msgstr "Час очікування LDAP" + +#, python-format +msgid "%(task)s LDAP task timeout, Task DN: '%(task_dn)s'" +msgstr "" +"Перевищення часу очікування на завершення завдання LDAP %(task)s, DN " +"завдання: «%(task_dn)s»" + +msgid "Configured time limit exceeded" +msgstr "Перевищено налаштоване обмеження за часом" + +msgid "Configured size limit exceeded" +msgstr "Перевищено налаштоване обмеження за розміром" + +msgid "Configured administrative server limit exceeded" +msgstr "Перевищено налаштоване обмеження адміністративного сервера" + +#, python-format +msgid "Certificate operation cannot be completed: %(error)s" +msgstr "Не вдалося завершити дію з сертифікатом: %(error)s" + +#, python-format +msgid "Certificate format error: %(error)s" +msgstr "Помилка форматування сертифіката: %(error)s" + +msgid "Already registered" +msgstr "Вже зареєстровано" + +msgid "Not registered yet" +msgstr "Ще не зареєстровано" + +#, python-format +msgid "%(key)s cannot be deleted because %(label)s %(dependent)s requires it" +msgstr "" +"%(key)s неможливо вилучити, оскільки він потрібен для %(dependent)s %(label)s" + +#, python-format +msgid "" +"%(key)s cannot be deleted or disabled because it is the last member of " +"%(label)s %(container)s" +msgstr "" +"%(key)s не може бути вилучено або вимкнено, оскільки він є останнім у " +"%(container)s %(label)s" + +#, python-format +msgid "%(label)s %(key)s cannot be deleted/modified: %(reason)s" +msgstr "%(key)s %(label)s не можна вилучати або змінювати: %(reason)s" + +#, python-format +msgid "%(name)s certificate is not valid" +msgstr "Сертифікат %(name)s не є чинним" + +#, python-format +msgid "Host '%(hostname)s' does not have corresponding DNS A/AAAA record" +msgstr "На вузлі «%(hostname)s» немає відповідного запису DNS A/AAAA" + +#, python-format +msgid "DNS check failed: Expected {%(expected)s} got {%(got)s}" +msgstr "" +"Перевірка DNS зазнала невдачі: мало бути {%(expected)s}, отримано {%(got)s}" + +#, python-format +msgid "%(exception)s" +msgstr "%(exception)s" + +msgid "Results are truncated, try a more specific search" +msgstr "" +"Список результатів обрізано. Спробуйте точніше визначити критерії пошуку." + +#, python-format +msgid "Unknown option: %(option)s" +msgstr "Невідомий параметр: %(option)s" + +msgid "" +"Retrieve and print all attributes from the server. Affects command output." +msgstr "" +"Отримати і вивести всі атрибути з сервера. Стосується лише виводу команд." + +msgid "Print entries as stored on the server. Only affects output format." +msgstr "" +"Вивести записи у формі, у якій вони зберігаються на сервері. Стосується лише " +"формату виведення даних." + +msgid "Client version. Used to determine if server will accept request." +msgstr "" +"Версія клієнта. Використовується для визначення, якщо сервер приймає запит." + +msgid "Forward to server instead of running locally" +msgstr "Переспрямувати на сервер замість локального виконання" + +msgid "Additional instructions:" +msgstr "Додаткові настанови:" + +#, python-format +msgid "" +"API Version number was not sent, forward compatibility not guaranteed. " +"Assuming server's API version, %(server_version)s" msgstr "" -"Реєстраційний запис вказано у формі, відмінній від користувач@ОБЛАСТЬ: " -"«%(principal)s»" +"Не було надіслано номера версії програмного інтерфейсу (API), сумісність з " +"найновішими версіями не можна гарантувати. Припускаємо таку версію API " +"сервера: %(server_version)s" -msgid "This entry is already enabled" -msgstr "Цей запис вже увімкнено" +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 "" +"З виходом версії IPA 4.0 змінилася семантика засобу переспрямовування DNS.\n" +"Вам варто перейти на використання зон переспрямовування (dnsforwardzone-*).\n" +"Докладніше про це у документації." -msgid "This entry is already disabled" -msgstr "Цей запис вже вимкнено" +#, python-format +msgid "" +"DNSSEC support is experimental.\n" +"%(additional_info)s" +msgstr "" +"Підтримка DNSSEC є експериментальною.\n" +"%(additional_info)s" -msgid "This entry cannot be enabled or disabled" -msgstr "Цей запис не можна вмикати або вимикати" +#, python-format +msgid "'%(option)s' option is deprecated. %(additional_info)s" +msgstr "Параметр «%(option)s» є застарілим. %(additional_info)s" -msgid "This entry is not a member" -msgstr "Цього запису немає серед учасників" +#, python-format +msgid "" +"Semantic of %(label)s was changed. %(current_behavior)s\n" +"%(hint)s" +msgstr "" +"Семантику %(label)s було змінено. %(current_behavior)s\n" +"%(hint)s" -msgid "A group may not be a member of itself" -msgstr "Група не може бути елементом самої себе" +#, python-format +msgid "DNS server %(server)s: %(error)s." +msgstr "Сервер DNS %(server)s: %(error)s." -msgid "This entry is already a member" -msgstr "Цей запис вже є серед учасників" +#, 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 "Base64 decoding failed: %(reason)s" -msgstr "Помилка декодування Base64: %(reason)s" +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»." -msgid "A group may not be added as a member of itself" -msgstr "Групу не може бути додано як елемент самої себе" +#, 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, будь ласка, вимкніть її." -msgid "The default users group cannot be removed" -msgstr "Не можна вилучати типову групу користувачів" +#, 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." + +#, python-format +msgid "" +"The _kerberos TXT record from domain %(domain)s could not be created " +"(%(error)s).\n" +"This can happen if the zone is not managed by IPA. Please create the record " +"manually, containing the following value: '%(realm)s'" +msgstr "" +"Не вдалося створити запис TXT _kerberos з домену %(domain)s (%(error)s).\n" +"Причиною може бути те, що зона не є керованою IPA. Будь ласка, створіть " +"запис вручну так, щоб він містив таке значення: «%(realm)s»" -msgid "Host does not have corresponding DNS A/AAAA record" -msgstr "Вузол не має відповідного запису DNS A/AAAA" +#, python-format +msgid "" +"The _kerberos TXT record from domain %(domain)s could not be removed " +"(%(error)s).\n" +"This can happen if the zone is not managed by IPA. Please remove the record " +"manually." +msgstr "" +"Не вдалося вилучити запис TXT _kerberos з домену %(domain)s (%(error)s).\n" +"Причиною може бути те, що зона не є керованою IPA. Будь ласка, вилучіть " +"запис вручну." -msgid "Deleting a managed group is not allowed. It must be detached first." -msgstr "Вилучення керованих груп заборонено. Спочатку групу слід від’єднати." +msgid "" +"No DNSSEC key master is installed. DNSSEC zone signing will not work until " +"the DNSSEC key master is installed." +msgstr "" +"Не встановлено основного ключа DNSSEC. Підписування у зоні DNSSEC не " +"працюватиме, доки не буде встановлено основний ключ DNSSEC." -msgid "A managed group cannot have a password policy." -msgstr "У керованої групи не може бути власних правил для паролів." +#, python-format +msgid "" +"Relative record name '%(record)s' contains the zone name '%(zone)s' as a " +"suffix, which results in FQDN '%(fqdn)s'. This is usually a mistake caused " +"by a missing dot at the end of the name specification." +msgstr "" +"Назва відносного запису «%(record)s» містить як суфікс назву зони " +"«%(zone)s», що дає повну назву домену «%(fqdn)s». Зазвичай, такі назви є " +"помилковими, спричиненими пропущеною крапкою наприкінці специфікації назви." + +#, python-format +msgid "'%(command)s' is deprecated. %(additional_info)s" +msgstr "«%(command)s» вважається застарілою. %(additional_info)s" + +#, python-format +msgid "%(line)s" +msgstr "%(line)s" + +#, python-format +msgid "Search result has been truncated: %(reason)s" +msgstr "Результат пошуку обрізано: %(reason)s" + +#, python-format +msgid "" +"Your trust to %(domain)s is broken. Please re-create it by running 'ipa " +"trust-add' again." +msgstr "" +"Довіру до %(domain)s втрачено. Будь ласка, відновіть її за допомогою команди " +"«ipa trust-add»." + +#, python-format +msgid "DNS record(s) of host %(host)s could not be removed. (%(reason)s)" +msgstr "Записи DNS вузла %(host)s не вдалося вилучити. (%(reason)s)" + +msgid "" +"Forwarding policy conflicts with some automatic empty zones. Queries for " +"zones specified by RFC 6303 will ignore forwarding and recursion and always " +"result in NXDOMAIN answers. To override this behavior use forward policy " +"'only'." +msgstr "" +"Правила переспрямовування конфліктують із деякими автоматично порожніми " +"зонами. Запити для зон, вказаних на основі RFC 6303, ігноруватимуть " +"переспрямовування і завжди призводитимуть до відповідей NXDOMAIN. Щоб " +"перевизначити цю поведінку, скористайтеся правилами переспрямовування «only»." + +#, python-format +msgid "Update of system record '%(record)s' failed with error: %(error)s" +msgstr "" +"Спроба оновлення запису системи «%(record)s» зазнала невдачі. Повідомлення " +"про помилку: %(error)s" + +#, python-format +msgid "" +"IPA does not manage the zone %(zone)s, please add records to your DNS server " +"manually" +msgstr "" +"IPA не керує зоною %(zone)s. Будь ласка, додайте запис на вашому сервері DNS " +"вручну" + +msgid "" +"Automatic update of DNS system records failed. Please re-run update of " +"system records manually to get list of missing records." +msgstr "" +"Спроба автоматичного оновлення записів системи DNS зазнала невдачі. Будь " +"ласка, повторно запустіть оновлення записів системи вручну, щоб отримати " +"список пропущених записів." + +#, python-format +msgid "" +"Service %(service)s requires restart on IPA server %(server)s to apply " +"configuration changes." +msgstr "" +"Для застосування змін у налаштуваннях службу %(service)s на сервері IPA " +"%(server)s слід перезапустити." + +#, python-format +msgid "" +"No DNS servers in IPA location %(location)s. Without DNS servers location is " +"not working as expected." +msgstr "" +"Немає серверів DNS на місці IPA %(location)s. Без серверів DNS місце не " +"працюватиме як слід." + +msgid "A dictionary representing an LDAP entry" +msgstr "Словник, що відповідає запису LDAP" + +msgid "A list of LDAP entries" +msgstr "Список записів LDAP" + +msgid "All commands should at least have a result" +msgstr "Виконання всіх команд має призводити до якогось результату" + +msgid "User-friendly description of action performed" +msgstr "Зручний для користувача опис дії, що виконується" + +msgid "The primary_key value of the entry, e.g. 'jdoe' for a user" +msgstr "" +"Значення primary_key (основного ключа) запису, наприклад, «iivanenko» для " +"користувача" + +msgid "Number of entries returned" +msgstr "Кількість повернутих записів" + +msgid "True if not all results were returned" +msgstr "True, якщо повернуто було всі результати" + +msgid "List of deletions that failed" +msgstr "Список вилучень, які не вдалося виконати" + +msgid "True means the operation was successful" +msgstr "True означає, що дію було виконано успішно" + +msgid "incorrect type" +msgstr "помилковий тип" + +msgid "Only one value is allowed" +msgstr "Можна використовувати лише одне значення" + +msgid "this option is deprecated" +msgstr "цей параметр вважається застарілим" + +msgid "must be True or False" +msgstr "має дорівнювати True або False" + +msgid "must be an integer" +msgstr "має бути цілим числом" + +#, python-format +msgid "must be at least %(minvalue)d" +msgstr "має бути числом, не меншим за %(minvalue)d" + +#, python-format +msgid "can be at most %(maxvalue)d" +msgstr "не може перевищувати %(maxvalue)d" + +msgid "must be a decimal number" +msgstr "має бути десятковим числом" + +#, python-format +msgid "must be at least %(minvalue)s" +msgstr "має бути принаймні %(minvalue)s" + +#, python-format +msgid "can be at most %(maxvalue)s" +msgstr "не може перевищувати %(maxvalue)s" + +#, python-format +msgid "" +"number class '%(cls)s' is not included in a list of allowed number classes: " +"%(allowed)s" +msgstr "" +"числовий клас «%(cls)s» не включено до списку дозволених числових класів: " +"%(allowed)s" + +#, python-format +msgid "must match pattern \"%(pattern)s\"" +msgstr "має відповідати шаблону «%(pattern)s»" + +msgid "must be binary data" +msgstr "має бути бінарними даними" + +#, python-format +msgid "must be at least %(minlength)d bytes" +msgstr "має бути розміром, не менше за %(minlength)d байтів" + +#, python-format +msgid "can be at most %(maxlength)d bytes" +msgstr "не повинне перевищувати за розміром %(maxlength)d байтів" + +#, python-format +msgid "must be exactly %(length)d bytes" +msgstr "має бути розміром точно у %(length)d байтів" + +msgid "must be Unicode text" +msgstr "має бути текстом у Unicode" + +msgid "Leading and trailing spaces are not allowed" +msgstr "Використання пробілів на початку і у кінці заборонено" #, python-format -msgid "'%(entry)s' doesn't have a certificate." -msgstr "«%(entry)s» не містить сертифіката." +msgid "must be at least %(minlength)d characters" +msgstr "має бути не меншим за %(minlength)d символів довжиною" #, python-format -msgid "Unable to create private group. A group '%(group)s' already exists." -msgstr "Не вдалося створити закриту групу. Група «%(group)s» вже існує." +msgid "can be at most %(maxlength)d characters" +msgstr "не повинне перевищувати %(maxlength)d символів у довжину" #, python-format -msgid "" -"A problem was encountered when verifying that all members were %(verb)s: " -"%(exc)s" -msgstr "" -"Під час перевірки виявлено проблему, всі записи учасників %(verb)s: %(exc)s" +msgid "must be exactly %(length)d characters" +msgstr "має бути точно %(length)d символів у довжину" #, python-format -msgid "%(attr)s does not contain '%(value)s'" -msgstr "%(attr)s не містить «%(value)s»" +msgid "The character %(char)r is not allowed." +msgstr "Не можна використовувати символ %(char)r." #, python-format -msgid "" -"The search criteria was not specific enough. Expected 1 and found %(found)d." -msgstr "" -"Критерій пошуку не був достатньо точним. Мало бути вказано один критерій, " -"виявлено — %(found)d." - -msgid "This group already allows external members" -msgstr "У цій групі вже дозволено зовнішніх учасників" +msgid "must be '%(value)s'" +msgstr "має бути «%(value)s»" -msgid "This group cannot be posix because it is external" -msgstr "Ця група не може належати до груп POSIX, оскільки є зовнішньою" +#, python-format +msgid "must be one of %(values)s" +msgstr "має бути одним з таких значень: %(values)s" -msgid "This is already a posix group and cannot be converted to external one" -msgstr "" -"Ця група вже належить до груп POSIX, отже її не можна перетворити на зовнішню" +msgid "must be datetime value" +msgstr "має бути значенням дати і часу" -#, python-format -msgid "no command nor help topic '%(topic)s'" -msgstr "не виявлено ні команди, ні запису довідки «%(topic)s»" +msgid "does not match any of accepted formats: " +msgstr "не відповідає жодному з прийнятних форматів: " -msgid "change collided with another change" -msgstr "зміна конфліктує з іншою внесеною зміною" +msgid "incomplete time value" +msgstr "неповне часове значення" -msgid "no modifications to be performed" -msgstr "змін не внесено" +msgid "must be DNS name" +msgstr "має бути назвою DNS" -#, python-format -msgid "%(desc)s: %(info)s" -msgstr "%(desc)s: %(info)s" +msgid "must be absolute" +msgstr "має бути абсолютною" -msgid "limits exceeded for this query" -msgstr "цим запитом перевищено обмеження" +msgid "must be relative" +msgstr "має бути відносною" -#, python-format -msgid "%(info)s" -msgstr "%(info)s" +msgid "must be dictionary" +msgstr "має бути словником" -msgid "modifying primary key is not allowed" -msgstr "зміну основного ключа заборонено" +msgid "any of the configured servers" +msgstr "будь-який з налаштованих серверів" -#, python-format -msgid "%(attr)s: Only one value allowed." -msgstr "%(attr)s: можна використовувати лише одне значення." +msgid "could not allocate unique new session_id" +msgstr "" +"не вдалося встановити унікальне нове значення ідентифікатора сеансу " +"(session_id)" -#, python-format -msgid "%(attr)s: Invalid syntax." -msgstr "%(attr)s: некоректний синтаксис." +msgid "Filename is empty" +msgstr "Порожня назва файла" #, python-format -msgid "Bad search filter %(info)s" -msgstr "Помилковий фільтр пошуку %(info)s" +msgid "Permission denied: %(file)s" +msgstr "Доступ заборонено: %(file)s" -msgid "Not allowed on non-leaf entry" -msgstr "Заборонено для записів, які не є записами листків (leaf)" +msgid "empty DNS label" +msgstr "порожня мітка DNS" -msgid "LDAP timeout" -msgstr "Час очікування LDAP" +msgid "DNS label cannot be longer that 63 characters" +msgstr "Довжина мітки DNS не повинна перевищувати 63 символи" #, python-format -msgid "DNS check failed: Expected {%(expected)s} got {%(got)s}" +msgid "" +"only letters, numbers, %(chars)s are allowed. DNS label may not start or end " +"with %(chars2)s" msgstr "" -"Перевірка DNS зазнала невдачі: мало бути {%(expected)s}, отримано {%(got)s}" +"можна використовувати лише літери, цифри, %(chars)s. Символ %(chars2)s не " +"повинен бути першим або останнім символом мітки DNS." -#, python-format -msgid "%(task)s LDAP task timeout, Task DN: '%(task_dn)s'" -msgstr "" -"Перевищення часу очікування на завершення завдання LDAP %(task)s, DN " -"завдання: «%(task_dn)s»" +msgid "too many '@' characters" +msgstr "занадто багато символів «@»" -#, python-format -msgid "Certificate operation cannot be completed: %(error)s" -msgstr "Не вдалося завершити дію з сертифікатом: %(error)s" +msgid "cannot be longer that 255 characters" +msgstr "не може бути довшим за 255 символів" -#, python-format -msgid "Certificate format error: %(error)s" -msgstr "Помилка форматування сертифіката: %(error)s" +msgid "hostname contains empty label (consecutive dots)" +msgstr "назва вузла містить лише порожню мітку (послідовні крапки)" -msgid "Already registered" -msgstr "Вже зареєстровано" +msgid "not fully qualified" +msgstr "вказано не повністю" -msgid "Not registered yet" -msgstr "Ще не зареєстровано" +msgid "invalid SSH public key" +msgstr "некоректний відкритий ключ SSH" -#, python-format -msgid "%(key)s cannot be deleted because %(label)s %(dependent)s requires it" -msgstr "" -"%(key)s неможливо вилучити, оскільки він потрібен для %(dependent)s %(label)s" +msgid "options are not allowed" +msgstr "не можна використовувати параметри" -#, python-format -msgid "" -"%(key)s cannot be deleted or disabled because it is the last member of " -"%(label)s %(container)s" -msgstr "" -"%(key)s не може бути вилучено або вимкнено, оскільки він є останнім у " -"%(container)s %(label)s" +msgid "invalid hostmask" +msgstr "некоректна маска вузлів" #, python-format -msgid "%(label)s %(key)s cannot be deleted/modified: %(reason)s" -msgstr "%(key)s %(label)s не можна вилучати або змінювати: %(reason)s" +msgid "query '%(owner)s %(rtype)s': %(error)s" +msgstr "запит «%(owner)s %(rtype)s»: %(error)s" #, python-format -msgid "%(name)s certificate is not valid" -msgstr "Сертифікат %(name)s не є чинним" - -msgid "Results are truncated, try a more specific search" -msgstr "" -"Список результатів обрізано. Спробуйте точніше визначити критерії пошуку." +msgid "query '%(owner)s %(rtype)s' with EDNS0: %(error)s" +msgstr "запит «%(owner)s %(rtype)s» за допомогою EDNS0: %(error)s" #, python-format -msgid "Unknown option: %(option)s" -msgstr "Невідомий параметр: %(option)s" - msgid "" -"Retrieve and print all attributes from the server. Affects command output." +"answer to query '%(owner)s %(rtype)s' is missing DNSSEC signatures (no RRSIG " +"data)" msgstr "" -"Отримати і вивести всі атрибути з сервера. Стосується лише виводу команд." +"відповідь на запит «%(owner)s %(rtype)s» не містить підписів DNSSEC (немає " +"даних RRSIG)" -msgid "Print entries as stored on the server. Only affects output format." +#, python-format +msgid "record '%(owner)s %(rtype)s' failed DNSSEC validation on server %(ip)s" msgstr "" -"Вивести записи у формі, у якій вони зберігаються на сервері. Стосується лише " -"формату виведення даних." +"запис «%(owner)s %(rtype)s» не пройшов перевірки DNSSEC на сервері %(ip)s" -msgid "Client version. Used to determine if server will accept request." -msgstr "" -"Версія клієнта. Використовується для визначення, якщо сервер приймає запит." +msgid "invalid escape code in domain name" +msgstr "некоректний керівний код у назві домену" -msgid "Forward to server instead of running locally" -msgstr "Переспрямувати на сервер замість локального виконання" +msgid "domain name cannot be longer than 255 characters" +msgstr "назва домену не повинна перевищувати за довжиною 255 символів" -msgid "Additional instructions:" -msgstr "Додаткові настанови:" +msgid "DNS label cannot be longer than 63 characters" +msgstr "Довжина мітки DNS не повинна перевищувати 63 символів" + +msgid "invalid domain name" +msgstr "некоректна назва домену" #, python-format -msgid "" -"API Version number was not sent, forward compatibility not guaranteed. " -"Assuming server's API version, %(server_version)s" -msgstr "" -"Не було надіслано номера версії програмного інтерфейсу (API), сумісність з " -"найновішими версіями не можна гарантувати. Припускаємо таку версію API " -"сервера: %(server_version)s" +msgid "domain name '%(domain)s' should be normalized to: %(normalized)s" +msgstr "назву домену «%(domain)s» слід нормалізувати до %(normalized)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 "" -"З виходом версії IPA 4.0 змінилася семантика засобу переспрямовування DNS.\n" -"Вам варто перейти на використання зон переспрямовування (dnsforwardzone-*).\n" -"Докладніше про це у документації." +#, python-format +msgid "invalid domain-name: %s" +msgstr "некоректна назва домену: %s" #, python-format -msgid "" -"DNSSEC support is experimental.\n" -"%(additional_info)s" +msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" msgstr "" -"Підтримка DNSSEC є експериментальною.\n" -"%(additional_info)s" +"некоректна версія IP-адреси (маємо: %(value)d, має бути: %(required_value)d)!" -#, python-format -msgid "'%(option)s' option is deprecated. %(additional_info)s" -msgstr "Параметр «%(option)s» є застарілим. %(additional_info)s" +msgid "invalid IP address format" +msgstr "некоректний формат запису IP-адреси" #, python-format -msgid "" -"Semantic of %(label)s was changed. %(current_behavior)s\n" -"%(hint)s" -msgstr "" -"Семантику %(label)s було змінено. %(current_behavior)s\n" -"%(hint)s" +msgid "%(port)s is not a valid port" +msgstr "%(port)s не є чинним портом" + +msgid "improperly formatted DER-encoded certificate" +msgstr "неналежне форматування сертифіката у кодуванні DER" #, python-format -msgid "DNS server %(server)s: %(error)s." -msgstr "Сервер DNS %(server)s: %(error)s." +msgid "Retrieving CA cert chain failed: %s" +msgstr "Спроба отримання ланцюжка сертифікації CA зазнала невдачі: %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, будь ласка, вимкніть її." +msgid "request failed with HTTP status %d" +msgstr "помилка запиту зі станом HTTP %d" #, 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\"." +msgid "Retrieving CA status failed: %s" msgstr "" -"зона переспрямовування «%(fwzone)s» не є ефективною, оскільки не вказано " -"належного делегування NS у основній зоні «%(authzone)s». Будь ласка, додайте " -"запис NS «%(ns_rec)s» до батьківської зони «%(authzone)s»." +"Спроба отримання даних щодо стану служби сертифікації зазнала невдачі: %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, будь ласка, вимкніть її." +msgid "Retrieving CA status failed with status %d" +msgstr "Спроба отримання стану CA зазнала невдачі, стан %d" #, python-format +msgid "objectclass %s not found" +msgstr "клас об’єктів %s не знайдено" + msgid "" -"DNSSEC validation failed: %(error)s.\n" -"Please verify your DNSSEC configuration or disable DNSSEC validation on all " -"IPA servers." +"\n" +"Classes to manage trust joins using DCE-RPC calls\n" +"\n" +"The code in this module relies heavily on samba4-python package\n" +"and Samba4 python bindings.\n" msgstr "" -"Не пройдено перевірку DNSSEC: %(error)s.\n" -"Будь ласка, перевірте, чи правильно вказано налаштування DNSSEC, або " -"вимкніть перевірку DNSSEC на усіх серверах IPA." +"\n" +"Класи для керування довіреними приєднаннями за допомогою викликів DCE-RPC\n" +"\n" +"Код цього модуля жорстко залежить від вмісту пакунка samba4-python\n" +"та обгорток для мови Python у Samba4.\n" -msgid "A dictionary representing an LDAP entry" -msgstr "Словник, що відповідає запису LDAP" +msgid "CIFS server denied your credentials" +msgstr "Ваші реєстраційні дані відхилено сервером CIFS" -msgid "A list of LDAP entries" -msgstr "Список записів LDAP" +msgid "communication with CIFS server was unsuccessful" +msgstr "спроба обмінятися даними з сервером CIFS зазнала невдачі" -msgid "All commands should at least have a result" -msgstr "Виконання всіх команд має призводити до якогось результату" +msgid "AD domain controller" +msgstr "Контролер домену AD" -msgid "User-friendly description of action performed" -msgstr "Зручний для користувача опис дії, що виконується" +msgid "unsupported functional level" +msgstr "непідтримуваний функціональний рівень" -msgid "The primary_key value of the entry, e.g. 'jdoe' for a user" +msgid "" +"AD domain controller complains about communication sequence. It may mean " +"unsynchronized time on both sides, for example" msgstr "" -"Значення primary_key (основного ключа) запису, наприклад, «iivanenko» для " -"користувача" +"Домен AD скаржиться на послідовність команд встановлення зв’язку. Це, " +"наприклад, може означати розсинхронізацію часу між комп’ютерами, які " +"обмінюються даними." -msgid "Number of entries returned" -msgstr "Кількість повернутих записів" +msgid "CIFS server configuration does not allow access to \\\\pipe\\lsarpc" +msgstr "Налаштування сервера CIFS забороняє доступ до \\\\pipe\\lsarpc" -msgid "True if not all results were returned" -msgstr "True, якщо повернуто було всі результати" +msgid "Cannot find specified domain or server name" +msgstr "Не вдалося знайти домену або сервера з вказаною назвою" -msgid "List of deletions that failed" -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 "True means the operation was successful" -msgstr "True означає, що дію було виконано успішно" +msgid "At least the domain or IP address should be specified" +msgstr "Слід вказати принаймні домен або IP-адресу" -msgid "incorrect type" -msgstr "помилковий тип" +#, python-format +msgid "" +"CIFS server communication error: code \"%(num)s\",\n" +" message \"%(message)s\" (both may be \"None\")" +msgstr "" +"Помилка обміну даними з сервером CIFS: код «%(num)s»,\n" +"повідомлення «%(message)s» (обидва значення можуть бути «None»)" -msgid "Only one value is allowed" -msgstr "Можна використовувати лише одне значення" +msgid "no trusted domain is configured" +msgstr "Не налаштовано жодного довіреного домену" -msgid "must be True or False" -msgstr "має дорівнювати True або False" +msgid "domain is not configured" +msgstr "домен не налаштовано" -msgid "must be an integer" -msgstr "має бути цілим числом" +msgid "SID is not valid" +msgstr "SID не є чинним" -#, python-format -msgid "must be at least %(minvalue)d" -msgstr "має бути числом, не меншим за %(minvalue)d" +msgid "SID does not match exactlywith any trusted domain's SID" +msgstr "SID не збігається точно з будь-яким з SID довірених доменів" -#, python-format -msgid "can be at most %(maxvalue)d" -msgstr "не може перевищувати %(maxvalue)d" +msgid "SID does not match any trusted domain" +msgstr "SID не відповідає жодному з довірених доменів" -msgid "must be a decimal number" -msgstr "має бути десятковим числом" +msgid "Trust setup" +msgstr "Налаштування довіри" -#, python-format -msgid "must be at least %(minvalue)s" -msgstr "має бути принаймні %(minvalue)s" +msgid "Our domain is not configured" +msgstr "Наш домен не налаштовано" -#, python-format -msgid "can be at most %(maxvalue)s" -msgstr "не може перевищувати %(maxvalue)s" +msgid "No trusted domain is not configured" +msgstr "Не налаштовано жодного довіреного домену" -#, python-format -msgid "" -"number class '%(cls)s' is not included in a list of allowed number classes: " -"%(allowed)s" -msgstr "" -"числовий клас «%(cls)s» не включено до списку дозволених числових класів: " -"%(allowed)s" +msgid "trusted domain object" +msgstr "об’єкт довіреного домену" -#, python-format -msgid "must match pattern \"%(pattern)s\"" -msgstr "має відповідати шаблону «%(pattern)s»" +msgid "domain is not trusted" +msgstr "домен не є довіреним" -msgid "must be binary data" -msgstr "має бути бінарними даними" +msgid "no trusted domain matched the specified flat name" +msgstr "вказаній простій назві не відповідає жоден довірений домен" -#, python-format -msgid "must be at least %(minlength)d bytes" -msgstr "має бути розміром, не менше за %(minlength)d байтів" +msgid "trusted domain object not found" +msgstr "об’єкт довіреного домену не знайдено" -#, python-format -msgid "can be at most %(maxlength)d bytes" -msgstr "не повинне перевищувати за розміром %(maxlength)d байтів" +msgid "SSSD was unable to resolve the object to a valid SID" +msgstr "SSSD не вдалося визначити за об’єктом коректний SID" -#, python-format -msgid "must be exactly %(length)d bytes" -msgstr "має бути розміром точно у %(length)d байтів" +msgid "Ambiguous search, user domain was not specified" +msgstr "Неоднозначні параметри пошуку: не вказано домену користувача" -msgid "must be Unicode text" -msgstr "має бути текстом у Unicode" +msgid "Trusted domain did not return a unique object" +msgstr "Довіреним доменом не повернуто унікального об’єкта" -msgid "Leading and trailing spaces are not allowed" -msgstr "Використання пробілів на початку і у кінці заборонено" +msgid "Trusted domain did not return a valid SID for the object" +msgstr "Довіреним доменом не повернуто коректного SID об’єкта" -#, python-format -msgid "must be at least %(minlength)d characters" -msgstr "має бути не меншим за %(minlength)d символів довжиною" +msgid "trusted domain user not found" +msgstr "не знайдено користувача довіреного домену" -#, python-format -msgid "can be at most %(maxlength)d characters" -msgstr "не повинне перевищувати %(maxlength)d символів у довжину" +msgid "Cannot retrieve trusted domain GC list" +msgstr "Не вдалося отримати список GC довіреного домену" -#, python-format -msgid "must be exactly %(length)d characters" -msgstr "має бути точно %(length)d символів у довжину" +msgid "CIFS credentials object" +msgstr "Об’єкт реєстраційних даних CIFS" #, python-format -msgid "The character %(char)r is not allowed." -msgstr "Не можна використовувати символ %(char)r." +msgid "CIFS server %(host)s denied your credentials" +msgstr "Ваші реєстраційні дані відхилено сервером CIFS %(host)s" #, python-format -msgid "must be '%(value)s'" -msgstr "має бути «%(value)s»" +msgid "Cannot establish LSA connection to %(host)s. Is CIFS server running?" +msgstr "" +"Не вдалося встановити LSA-з’єднання з %(host)s. Чи запущено сервер CIFS?" #, python-format -msgid "must be one of %(values)s" -msgstr "має бути одним з таких значень: %(values)s" - -msgid "must be datetime value" -msgstr "має бути значенням дати і часу" - -msgid "does not match any of accepted formats: " -msgstr "не відповідає жодному з прийнятних форматів: " - -msgid "incomplete time value" -msgstr "неповне часове значення" - -msgid "this option is deprecated" -msgstr "цей параметр вважається застарілим" - -msgid "must be DNS name" -msgstr "має бути назвою DNS" +msgid "" +"the IPA server and the remote domain cannot share the same NetBIOS name: %s" +msgstr "" +"сервер IPA і віддалений домен не можуть використовувати спільно ту саму " +"назву NetBIOS: %s" -msgid "must be absolute" -msgstr "має бути абсолютною" +#, 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. Additionally, please check that AD DNS is able to resolve %(records)s " +"SRV records to the correct IPA server." +msgstr "" +"Основний вузол IPA відмовив у запитах щодо затвердження довіри від AD DC " +"%(count)d разів. Найімовірніше, AD DC встановив зв’язок із реплікою, на якій " +"ще не виконано реплікацію даних щодо довіри. Крім того, будь ласка, " +"перевірте, чи може DNS AD визначати за записами SRV %(records)s коректний " +"сервер IPA." -msgid "must be relative" -msgstr "має бути відносною" +#, python-format +msgid "Unable to communicate with CMS (status %d)" +msgstr "Не вдалося обмінятися даними з CMS (стан %d)" msgid "A list of ACI values" msgstr "Список значень ACI" @@ -866,13 +1740,6 @@ msgstr "" msgid "" "\n" -"EXAMPLES:\n" -msgstr "" -"\n" -"ПРИКЛАДИ:\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" @@ -1162,9 +2029,6 @@ msgstr "" " Додати умови до правила автоматичної участі.\n" " " -msgid "Failed to add" -msgstr "Не вдалося додати" - #, python-format msgid "Added condition(s) to \"%(value)s\"" msgstr "Додано умови до «%(value)s»" @@ -1310,6 +2174,12 @@ msgstr "" " Показати дані щодо типових (резервних) груп автоматичної участі.\n" " " +msgid "Task DN" +msgstr "DN завдання" + +msgid "DN of the started task" +msgstr "DN запущеного завдання" + msgid "Rebuild auto membership." msgstr "Повторне збирання правил автоматичної участі." @@ -1334,12 +2204,6 @@ msgstr "Не чекати" msgid "Don't wait for rebuilding membership" msgstr "Не чекати на завершення перебудови записів участі" -msgid "Task DN" -msgstr "DN завдання" - -msgid "DN of the started task" -msgstr "DN запущеного завдання" - msgid "at least one of options: type, users, hosts must be specified" msgstr "має бути вказано принаймні один з варіантів: тип, користувачі чи вузли" @@ -1628,37 +2492,7 @@ msgstr[1] "встановлено відповідність %(count)d місц� msgstr[2] "встановлено відповідність %(count)d місць автоматичного монтування" msgid "Generate automount files for a specific location." -msgstr "Створити файли automount для певної адреси." - -msgid "maps not connected to /etc/auto.master:" -msgstr "карти, не з’єднані з /etc/auto.master:" - -msgid "Import automount files for a specific location." -msgstr "Імпортувати файли automount для певної адреси." - -msgid "Master file" -msgstr "Основний файл" - -msgid "Automount master file." -msgstr "Основний файл automount." - -msgid "" -"Continuous operation mode. Errors are reported but the process continues." -msgstr "" -"Режим неперервної обробки. Програма повідомляє про помилки, але продовжує " -"обробку." - -#, python-format -msgid "File %(file)s not found" -msgstr "Файла %(file)s не знайдено" - -#, python-format -msgid "key %(key)s already exists" -msgstr "запис ключа %(key)s вже існує" - -#, python-format -msgid "map %(map)s already exists" -msgstr "запис карти %(map)s вже існує" +msgstr "Створити файли automount для певної адреси." msgid "automount map" msgstr "карта автомонтування" @@ -1822,12 +2656,6 @@ msgstr[2] "встановлено відповідність %(count)d ключ� msgid "Display an automount key." msgstr "Показати ключ автоматичного монтування." -msgid "Password" -msgstr "Пароль" - -msgid "Failed members" -msgstr "Помилка members" - msgid "Member users" msgstr "Користувачі-учасники" @@ -1900,27 +2728,6 @@ msgstr "Опосередкована група служб HBAC учасника msgid "Indirect Member netgroups" msgstr "Опосередковані мережеві групи учасника" -msgid "Failed source hosts/hostgroups" -msgstr "Помилка hosts/hostgroups джерела" - -msgid "Failed hosts/hostgroups" -msgstr "Помилка hosts/hostgroups" - -msgid "Failed users/groups" -msgstr "Помилка users/groups" - -msgid "Failed service/service groups" -msgstr "Помилки служб/груп служб" - -msgid "Failed to remove" -msgstr "Спроба вилучення зазнала невдачі" - -msgid "Failed RunAs" -msgstr "Помилка запуску від імені" - -msgid "Failed RunAsGroup" -msgstr "Помилка запуску від імені групи" - msgid "Invalid format. Should be name=value" msgstr "Некоректний формат. Правильний формат: назва=значення" @@ -2061,14 +2868,27 @@ msgstr "Шукати %(searched_object)s не у цих %(relationship)s %(ldap_ msgid "Time Limit" msgstr "Обмеження часу" -msgid "Time limit of search in seconds" -msgstr "Обмеження часу пошуку у секундах" +msgid "Time limit of search in seconds (0 is unlimited)" +msgstr "Обмеження часу пошуку у секундах (0 — без обмежень)" msgid "Size Limit" msgstr "Обмеження розміру" -msgid "Maximum number of entries returned" -msgstr "Максимальна кількість повернутих записів" +msgid "Maximum number of entries returned (0 is unlimited)" +msgstr "Максимальна кількість повернутих записів (0 — без обмежень)" + +msgid "added attribute value to entry %(value)" +msgstr "додано значення атрибута до запису %(value)" + +#, python-format +msgid "'%s' already contains one or more values" +msgstr "«%s» вже містить одне або декілька значень" + +msgid "removed attribute values from entry %(value)" +msgstr "вилучено значення атрибутів із запису %(value)" + +msgid "one or more values to remove" +msgstr "одне або декілька значень для вилучення" msgid "" "\n" @@ -2242,8 +3062,8 @@ msgstr "Бажана мова" msgid "Certificate" msgstr "Сертифікат" -msgid "Base-64 encoded server certificate" -msgstr "Сертифікат сервера у кодуванні Base-64" +msgid "Base-64 encoded user certificate" +msgstr "Сертифікат користувача у кодуванні Base-64" #, python-format msgid "invalid e-mail format: %(email)s" @@ -2260,6 +3080,117 @@ msgstr "не повинне перевищувати %(len)d символів у msgid "Nested Methods to execute" msgstr "Вкладені методи, які слід виконати" +msgid "must contain a tuple (list, dict)" +msgstr "має містити кортеж (список, словник)" + +msgid "" +"\n" +"Manage Certificate Authorities\n" +"\n" +"Subordinate Certificate Authorities (Sub-CAs) can be added for scoped " +"issuance\n" +"of X.509 certificates.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create new CA, subordinate to the IPA CA.\n" +"\n" +" ipa ca-add puppet --desc \"Puppet\" \\\n" +" --subject \"CN=Puppet CA,O=EXAMPLE.COM\"\n" +"\n" +msgstr "" +"\n" +"Керування записами центрів сертифікації\n" +"\n" +"Підлеглі центри сертифікації (Sub-CA) може бути додано для області " +"видавництва\n" +"сертифікатів X.509.\n" +"\n" +"Приклади:\n" +"\n" +" Створити запис CA, зробити його підлеглим щодо CA IPA.\n" +"\n" +" ipa ca-add puppet --desc \"Puppet\" \\\n" +" --subject \"CN=Puppet CA,O=EXAMPLE.COM\"\n" +"\n" + +msgid "Certificate Authority" +msgstr "Центр сертифікації" + +msgid "Certificate Authorities" +msgstr "Центри сертифікації" + +msgid "Name" +msgstr "Назва" + +msgid "Name for referencing the CA" +msgstr "Назва до посилання на CA" + +msgid "Description of the purpose of the CA" +msgstr "Опис призначення CA" + +msgid "Authority ID" +msgstr "Ід. центру" + +msgid "Dogtag Authority ID" +msgstr "Ід. Dogtag центру" + +msgid "Subject DN" +msgstr "DN призначення" + +msgid "Subject Distinguished Name" +msgstr "Унікальна назва призначення" + +msgid "Issuer DN" +msgstr "DN видавця" + +msgid "Issuer Distinguished Name" +msgstr "Унікальна назва видавця" + +msgid "Search for CAs." +msgstr "Шукати CA." + +#, python-format +msgid "%(count)d CA matched" +msgid_plural "%(count)d CAs matched" +msgstr[0] "встановлено відповідність %(count)d CA" +msgstr[1] "встановлено відповідність %(count)d CA" +msgstr[2] "встановлено відповідність %(count)d CA" + +msgid "Display the properties of a CA." +msgstr "Показати властивості CA." + +msgid "Create a CA." +msgstr "Створити запис CA." + +#, python-format +msgid "Created CA \"%(value)s\"" +msgstr "Створено запис CA «%(value)s»" + +#, python-format +msgid "Insufficient 'add' privilege for entry '%s'." +msgstr "Недостатні привілеї «add» для запису «%s»." + +msgid "Delete a CA." +msgstr "Вилучити запис CA." + +#, python-format +msgid "Deleted CA \"%(value)s\"" +msgstr "Вилучено запис CA «%(value)s»" + +msgid "CA" +msgstr "CA" + +msgid "IPA CA cannot be deleted" +msgstr "CA IPA не може бути вилучено" + +msgid "Modify CA configuration." +msgstr "Змінити налаштування CA." + +#, python-format +msgid "Modified CA \"%(value)s\"" +msgstr "Змінено CA «%(value)s»" + msgid "" "\n" "Manage CA ACL rules.\n" @@ -2277,14 +3208,17 @@ msgid "" "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" +" \"UserCert\" profile on all CAs:\n" +" ipa caacl-add test --usercat=all --cacat=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" +" Create a CA ACL to let user \"alice\" use the \"DNP3\" profile on \"DNP3-CA" +"\":\n" +" ipa caacl-add alice_dnp3\n" +" ipa caacl-add-ca alice_dnp3 --cas DNP3-CA\n" " ipa caacl-add-profile alice_dnp3 --certprofiles DNP3\n" " ipa caacl-add-user alice_dnp3 --user=alice\n" "\n" @@ -2310,15 +3244,17 @@ msgstr "" "ПРИКЛАДИ:\n" "\n" " Створити CA ACL «test», який надає доступ усім користувачам до\n" -" профілю «UserCert»:\n" -" ipa caacl-add test --usercat=all\n" +" профілю «UserCert» для усіх CA:\n" +" ipa caacl-add test --usercat=all --cacat=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" +" використовувати профіль «DNP3» на «DNP3-CA»::\n" +" ipa caacl-add alice_dnp3\n" +" ipa caacl-add-ca alice_dnp3 --cas DNP3-CA\n" " ipa caacl-add-profile alice_dnp3 --certprofiles DNP3\n" " ipa caacl-add-user alice_dnp3 --user=alice\n" "\n" @@ -2340,6 +3276,12 @@ msgstr "Назва ACL" msgid "Enabled" msgstr "Увімкнено" +msgid "CA category" +msgstr "Категорія CA" + +msgid "CA category the ACL applies to" +msgstr "Категорія CA, до якої застосовується ACL" + msgid "Profile category" msgstr "Категорія профілів" @@ -2364,6 +3306,9 @@ msgstr "Категорія служб" msgid "Service category the ACL applies to" msgstr "Категорія служб, до якої застосовується ACL" +msgid "CAs" +msgstr "CA" + msgid "Profiles" msgstr "Профілі" @@ -2390,6 +3335,9 @@ msgstr "Вилучити CA ACL." msgid "Deleted CA ACL \"%(value)s\"" msgstr "Вилучено CA ACL «%(value)s»" +msgid "default CA ACL can be only disabled" +msgstr "типовий ACL CA можна лише вимкнути" + msgid "Modify a CA ACL." msgstr "Змінити CA ACL." @@ -2397,6 +3345,11 @@ msgstr "Змінити CA ACL." msgid "Modified CA ACL \"%(value)s\"" msgstr "Змінено CA ACL «%(value)s»" +msgid "CA category cannot be set to 'all' while there are allowed CAs" +msgstr "" +"не можна встановлювати для категорії CA значення «all», доки є записи " +"дозволених CA" + msgid "" "profile category cannot be set to 'all' while there are allowed profiles" msgstr "" @@ -2522,9 +3475,6 @@ msgstr "Вилучено %i службу." msgid "%i services removed." msgstr "Вилучено %i служб." -msgid "Failed profiles" -msgstr "Профілі із помилками" - msgid "Add profiles to a CA ACL." msgstr "Додати профілі до CA ACL." @@ -2550,204 +3500,46 @@ msgstr "Вилучено %i профіль." 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" -" 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 "" -"\n" -"Дії з сертифікатами IPA\n" -"\n" -"Реалізує набір команд для керування сертифікатами серверів SSL.\n" -"\n" -"Запити щодо сертифікатів існують у формі Certificate Signing Request (CSR)\n" -"і форматі PEM.\n" -"\n" -"Якщо використовується автопідписний модуль, призначення CSR має збігатися\n" -"з призначенням на сервері. Служба сертифікації використовує лише CN\n" -"CSR і примусово визначає призначення.\n" -"\n" -"Сертифікат зберігається з реєстраційним записом, а реєстраційний запис\n" -"потребує вузла.\n" -"\n" -"Для того, щоб створити запит щодо сертифіката:\n" -"\n" -"* Вузол має існувати\n" -"* Служба має існувати (або слід скористатися параметром --add для\n" -"автоматичного додавання)\n" -"\n" -"ПОШУК:\n" -"\n" -"Шукати сертифікати можна за призначенням сертифіката, серійним номером,\n" -"причиною відкликання, датами чинності та датою видання.\n" -"\n" -"Якщо пошук виконується за датою _від, використовується порівняння >=, а " -"якщо\n" -"виконується пошук _до дати — порівняння <=. Поєднання обох пошуків " -"призводить\n" -"до пошуку з логічним поєднанням ТА.\n" -"\n" -"Дати обробляються як дати за Гринвічем, відповідно до дат визначених у\n" -"сертифікатах.\n" -"\n" -"Формат дати є таким: РРРР-мм-дд.\n" -"\n" -"ПРИКЛАДИ:\n" -"\n" -" Створити запит щодо нового сертифіката і додати реєстраційний запис:\n" -" ipa cert-request --add --principal=HTTP/lion.example.com example.csr\n" -"\n" -" Отримати вже створений сертифікат:\n" -" ipa cert-show 1032\n" -"\n" -" Відкликати сертифікат (причини визначено у RFC 5280):\n" -" ipa cert-revoke --revocation-reason=6 1032\n" -"\n" -" Вилучити сертифікат зі списку відкликання:\n" -" ipa cert-remove-hold 1032\n" -"\n" -" Перевірити стан запиту щодо підписування:\n" -" ipa cert-status 10\n" -"\n" -" Пошук сертифікатів за назвою вузла:\n" -" ipa cert-find --subject=ipaserver.example.com\n" -"\n" -" Пошук відкликаних сертифікатів за причиною:\n" -" ipa cert-find --revocation-reason=5\n" -"\n" -" Пошук сертифікатів за датою видання\n" -" ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07\n" -"\n" -"У поточній версії IPA негайно виконує (або відхиляє) всі запити щодо\n" -"сертифікатів, отже дані щодо стану запиту не мають сенсу. Ці дані\n" -"можуть знадобитися у наступних версіях або у разі, якщо CA видає\n" -"сертифікат не одразу.\n" -"\n" -"Передбачено підтримку таких причин відкликання:\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" -"Зауважте, що коди причини 7 не використовується. Докладніші дані у RFC " -"5280:\n" -"\n" -"http://www.ietf.org/rfc/rfc5280.txt\n" -"\n" +msgid "Add CAs to a CA ACL." +msgstr "Додати CA до ACL CA." #, python-format -msgid "Failure decoding Certificate Signing Request: %s" -msgstr "" -"Помилка під час декодування запиту на підписування сертифіката (CSR): %s" +msgid "%i CA added." +msgstr "Додано %i CA." -msgid "CA is not configured" -msgstr "CA не налаштовано" +#, python-format +msgid "%i CAs added." +msgstr "Додано %i CA." -msgid "Submit a certificate signing request." -msgstr "Надіслати запит щодо підписування сертифіката." +msgid "CAs cannot be added when CA category='all'" +msgstr "Не можна додавати CA, якщо категорія CA='all'" -msgid "CSR" -msgstr "CSR" +msgid "Remove CAs from a CA ACL." +msgstr "Вилучити CA з ACL CA." -msgid "Principal" -msgstr "Реєстраційний запис" +#, python-format +msgid "%i CA removed." +msgstr "Вилучено %i." -msgid "Principal for this certificate (e.g. HTTP/test.example.com)" -msgstr "" -"Реєстраційний запис для цього сертифіката (наприклад HTTP/test.example.com)" +#, python-format +msgid "%i CAs removed." +msgstr "Вилучено %i CA." -msgid "automatically add the principal if it doesn't exist" -msgstr "автоматично додати реєстраційний запис, якщо його не існує" +#, python-format +msgid "Failure decoding Certificate Signing Request: %s" +msgstr "" +"Помилка під час декодування запиту на підписування сертифіката (CSR): %s" -msgid "Profile ID" -msgstr "Ід. профілю" +msgid "CA is not configured" +msgstr "CA не налаштовано" -msgid "Certificate Profile to use" -msgstr "Профіль сертифіката, яким слід скористатися" +#, python-format +msgid "" +"Principal '%(principal)s' is not permitted to use CA '%(ca)s' with profile " +"'%(profile_id)s' for certificate issuance." +msgstr "" +"Реєстраційному запису «%(principal)s» не дозволено використовувати службу " +"сертифікації «%(ca)s» із профілем «%(profile_id)s» для видання сертифікатів." msgid "Subject" msgstr "Об’єкт" @@ -2770,19 +3562,45 @@ msgstr "Відбиток (SHA1)" msgid "Serial number" msgstr "Серійний номер" +msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" +msgstr "Серійний десятковий номер або шістнадцятковий номер з префіксом 0x" + msgid "Serial number (hex)" msgstr "Серійний номер (шістнадцятковий)" -msgid "Dictionary mapping variable name to value" -msgstr "Відображення назви змінної на значення за словником" +msgid "Issuing CA" +msgstr "Видавничий CA" -#, python-format -msgid "" -"Principal '%(principal)s' is not permitted to use CA '%(ca)s' with profile " -"'%(profile_id)s' for certificate issuance." +msgid "Name of issuing CA" +msgstr "Назва видавничого CA" + +msgid "Profile ID" +msgstr "Ід. профілю" + +msgid "Certificate Profile to use" +msgstr "Профіль сертифіката, яким слід скористатися" + +msgid "Request status" +msgstr "Стан запиту" + +msgid "Request id" +msgstr "Ід. запиту" + +msgid "Submit a certificate signing request." +msgstr "Надіслати запит щодо підписування сертифіката." + +msgid "CSR" +msgstr "CSR" + +msgid "Principal" +msgstr "Реєстраційний запис" + +msgid "Principal for this certificate (e.g. HTTP/test.example.com)" msgstr "" -"Реєстраційному запису «%(principal)s» не дозволено використовувати службу " -"сертифікації «%(ca)s» із профілем «%(profile_id)s» для видання сертифікатів." +"Реєстраційний запис для цього сертифіката (наприклад HTTP/test.example.com)" + +msgid "automatically add the principal if it doesn't exist" +msgstr "автоматично додати реєстраційний запис, якщо його не існує" msgid "The principal for this request doesn't exist." msgstr "Реєстраційного запису для цього запиту не існує." @@ -2798,17 +3616,12 @@ msgstr "" "назва вузла у призначенні запиту, «%(cn)s», не збігається з назвою вузла " "реєстраційного запису, «%(hostname)s»" -msgid "DN commonName does not match any of user's email addresses" -msgstr "" -"commonName DN не збігається зі жодною адресою електронної пошти користувача" +msgid "DN commonName does not match user's login" +msgstr "У commonName DN не збігається із ім’ям користувача" msgid "DN emailAddress does not match any of user's email addresses" msgstr "" -"emailAddress DN не збігається зі жодною адресою електронної пошти користувача" - -#, python-format -msgid "extension %s is forbidden" -msgstr "використання розширення %s заборонено" +"emailAddress DN не збігається із жодною адресою електронної пошти користувача" #, python-format msgid "" @@ -2860,39 +3673,33 @@ msgstr "Використання типу альтернативної назв� msgid "Check the status of a certificate signing request." msgstr "Перевірити стан запиту щодо підписування сертифіката." -msgid "Request id" -msgstr "Ід. запиту" +msgid "Status" +msgstr "Стан" -msgid "Request status" -msgstr "Стан запиту" +msgid "Revoked" +msgstr "Анульований" -msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" -msgstr "Серійний десятковий номер або шістнадцятковий номер з префіксом 0x" +msgid "Revocation reason" +msgstr "Причина відкликання" msgid "Retrieve an existing certificate." msgstr "Отримати вже створений сертифікат." -msgid "Revocation reason" -msgstr "Причина відкликання" - msgid "Output filename" msgstr "Назва файла виводу" msgid "File to store the certificate in." msgstr "Файл, у якому зберігатимуться дані сертифіката." +#, python-format +msgid "" +"Certificate with serial number %(serial)s issued by CA '%(ca)s' not found" +msgstr "" +"Не знайдено сертифікат із серійним номером %(serial)s, виданий CA «%(ca)s»" + msgid "Revoke a certificate." msgstr "Відкликати сертифікат." -msgid "Revoked" -msgstr "Анульований" - -msgid "Reason" -msgstr "Підстава" - -msgid "Reason for revoking the certificate (0-10)" -msgstr "Причина відкликання сертифіката (0-10)" - msgid "7 is not a valid revocation reason" msgstr "7 не є коректною причиною відкликання" @@ -2938,14 +3745,8 @@ msgstr "Видано до цієї дати (РРРР-мм-дд)" msgid "Revoked on from this date (YYYY-mm-dd)" msgstr "Відкликано з цієї дати (РРРР-мм-дд)" -msgid "Revoked on to this date (YYYY-mm-dd)" -msgstr "Відкликано до цієї дати (РРРР-мм-дд)" - -msgid "Maximum number of certs returned" -msgstr "Максимальна кількість сертифікатів у повернутому списку" - -msgid "Status" -msgstr "Стан" +msgid "Revoked on to this date (YYYY-mm-dd)" +msgstr "Відкликано до цієї дати (РРРР-мм-дд)" #, python-format msgid "%(count)d certificate matched" @@ -2978,7 +3779,7 @@ msgid "" "\n" " Import a profile that will not store issued certificates:\n" " ipa certprofile-import ShortLivedUserCert \\\n" -" --file UserCert.profile --summary \"User Certificates\" \\\n" +" --file UserCert.profile --desc \"User Certificates\" \\\n" " --store=false\n" "\n" " Delete a certificate profile:\n" @@ -2987,9 +3788,29 @@ msgid "" " Show information about a profile:\n" " ipa certprofile-show ShortLivedUserCert\n" "\n" +" Save profile configuration to a file:\n" +" ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg\n" +"\n" " Search for profiles that do not store certificates:\n" " ipa certprofile-find --store=false\n" "\n" +"PROFILE CONFIGURATION FORMAT:\n" +"\n" +"The profile configuration format is the raw property-list format\n" +"used by Dogtag Certificate System. The XML format is not supported.\n" +"\n" +"The following restrictions apply to profiles managed by FreeIPA:\n" +"\n" +"- When importing a profile the \"profileId\" field, if present, must\n" +" match the ID given on the command line.\n" +"\n" +"- The \"classId\" field must be set to \"caEnrollImpl\"\n" +"\n" +"- The \"auth.instance_id\" field must be set to \"raCertAuth\"\n" +"\n" +"- The \"certReqInputImpl\" input class and \"certOutputImpl\" output\n" +" class must be used.\n" +"\n" msgstr "" "\n" "Керування профілями сертифікатів\n" @@ -3021,9 +3842,31 @@ msgstr "" " Показати дані щодо профілю:\n" " ipa certprofile-show ShortLivedUserCert\n" "\n" +" Зберегти налаштування профілю до файла:\n" +" ipa certprofile-show caIPAserviceCert --out caIPAserviceCert.cfg\n" +"\n" " Шукати профілі, у яких не зберігаються сертифікати:\n" " ipa certprofile-find --store=false\n" "\n" +"ФОРМАТ НАЛАШТУВАНЬ ПРОФІЛЮ:\n" +"\n" +"Налаштування профілю зберігаються у вигляді простого списку\n" +"властивостей, що використовується системою сертифікації Dogtag.\n" +"Підтримки формату XML не передбачено.\n" +"\n" +"Профілів, які керуються FreeIPA, стосуються такі обмеження:\n" +"\n" +"- Під час імпортування профілю поле «profileId», якщо таке є, має\n" +" містити значення, що збігається з ідентифікатором, вказаним у рядку " +"команди.\n" +"\n" +"- Значенням поля «classId» має бути «caEnrollImpl»\n" +"\n" +"- Значенням поля «auth.instance_id» має бути «raCertAuth»\n" +"\n" +"- Має бути використано вхідний клас «certReqInputImpl» і вихідний\n" +" клас «certOutputImpl».\n" +"\n" msgid "invalid Profile ID" msgstr "некоректний ідентифікатор профілю" @@ -3063,6 +3906,12 @@ msgstr[2] "встановлено відповідність %(count)d проф� msgid "Display the properties of a Certificate Profile." msgstr "Показати властивості профілю сертифікатів." +msgid "Profile configuration" +msgstr "Налаштування профілю" + +msgid "Write profile configuration to file" +msgstr "Записати налаштування профілів до файла" + msgid "Import a Certificate Profile." msgstr "Імпортувати профіль сертифікатів." @@ -3070,11 +3919,10 @@ msgstr "Імпортувати профіль сертифікатів." msgid "Imported profile \"%(value)s\"" msgstr "Імпортовано профіль «%(value)s»" -msgid "Filename" -msgstr "Назва файла" - -msgid "Profile ID is not present in profile data" -msgstr "Ідентифікатора профілю немає у даних профілю" +msgid "Filename of a raw profile. The XML format is not supported." +msgstr "" +"Назва файла профілю з необробленими даними. Підтримки формату XML не " +"передбачено." #, python-format msgid "Profile ID '%(cli_value)s' does not match profile data '%(file_value)s'" @@ -3089,6 +3937,10 @@ msgstr "Вилучити профіль сертифікатів." msgid "Deleted profile \"%(value)s\"" msgstr "Вилучено профіль «%(value)s»" +#, python-format +msgid "Predefined profile '%(profile_id)s' cannot be deleted" +msgstr "Стандартний профіль «%(profile_id)s» не може бути вилучено" + msgid "Modify Certificate Profile configuration." msgstr "Змінити налаштування профілю сертифікатів." @@ -3096,6 +3948,12 @@ msgstr "Змінити налаштування профілю сертифік� msgid "Modified Certificate Profile \"%(value)s\"" msgstr "Змінено профіль сертифікатів «%(value)s»" +msgid "File containing profile configuration" +msgstr "Файл, який містить налаштування профілів" + +msgid "Certificate profiles cannot be renamed" +msgstr "Профілі сертифікатів не можна перейменовувати" + msgid "" "\n" "Server configuration\n" @@ -3196,9 +4054,6 @@ msgstr "" " 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 повинен мати значення -1 або > 1." - msgid "configuration options" msgstr "параметри налаштування" @@ -3232,17 +4087,17 @@ msgstr "Типовий домен ел. пошти" msgid "Search time limit" msgstr "Обмеження часу пошуку" -msgid "" -"Maximum amount of time (seconds) for a search (> 0, or -1 for unlimited)" +msgid "Maximum amount of time (seconds) for a search (-1 or 0 is unlimited)" msgstr "" "Максимальний проміжок часу (у секундах) для виконання однієї дії з пошуку " -"(>0, -1 — без обмежень)" +"(-1 або 0 — без обмежень)" msgid "Search size limit" msgstr "Обмеження розміру пошуку" -msgid "Maximum number of records to search (-1 is unlimited)" -msgstr "Максимальна кількість записів результатів пошуку (-1 — без обмежень)" +msgid "Maximum number of records to search (-1 or 0 is unlimited)" +msgstr "" +"Максимальна кількість записів результатів пошуку (-1 або 0 — без обмежень)" msgid "User search fields" msgstr "Поля пошуку користувачів" @@ -3318,6 +4173,30 @@ msgstr "Типові типи розпізнавання користувачі� msgid "Default types of supported user authentication" msgstr "Типові типи підтримуваного розпізнавання користувачів" +msgid "IPA masters" +msgstr "Основні вузли IPA" + +msgid "List of all IPA masters" +msgstr "Список усіх основних вузлів IPA" + +msgid "IPA CA servers" +msgstr "Сервери CA IPA" + +msgid "IPA servers configured as certificate authority" +msgstr "Сервери IPA, які налаштовано як центри сертифікації" + +msgid "IPA NTP servers" +msgstr "Сервери NTP IPA" + +msgid "IPA servers with enabled NTP" +msgstr "Сервери IPA із увімкненим NTP" + +msgid "IPA CA renewal master" +msgstr "Основних вузол відновлення CA IPA" + +msgid "Renewal master for IPA certificate authority" +msgstr "Основний сервер відновлення для центру сертифікації IPA" + msgid "Modify configuration options." msgstr "Змінити параметри налаштування." @@ -4124,14 +5003,6 @@ msgstr "" msgid "Permission value" msgstr "Значення прав доступу" -#, python-format -msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" -msgstr "" -"некоректна версія IP-адреси (маємо: %(value)d, має бути: %(required_value)d)!" - -msgid "invalid IP address format" -msgstr "некоректний формат запису IP-адреси" - msgid "invalid IP network format" msgstr "некоректний формат запису мережі IP" @@ -4141,10 +5012,6 @@ msgstr "кожен з елементів ACL має бути відокремл� msgid "invalid address format" msgstr "некоректний формат адреси" -#, python-format -msgid "%(port)s is not a valid port" -msgstr "%(port)s не є чинним портом" - msgid "" "expected format: <0-255> <0-255> <0-65535> even-" "length_hexadecimal_digits_or_hyphen" @@ -4172,8 +5039,12 @@ 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 не знайдено" +msgid "" +"DNS reverse zone %(revzone)s for IP address %(addr)s is not managed by this " +"server" +msgstr "" +"Зворотна зона DNS %(revzone)s для IP-адреси %(addr)s не керується цим " +"сервером" #, python-format msgid "DNS zone %(zone)s not found" @@ -4467,6 +5338,10 @@ msgstr "" msgid "DNS is not configured" msgstr "DNS не налаштовано" +msgid "Force DNS zone creation even if it will overlap with an existing zone." +msgstr "" +"Примусове створення зони DNS, навіть якщо вона перекриватиметься із наявною." + msgid "Only one zone type is allowed per zone name" msgstr "Можна використовувати лише один тип зони на одну назву зони" @@ -4595,18 +5470,6 @@ msgstr "" "Запис NSEC3PARAM для зони у такому форматі: алгоритм_хешування прапорці " "ітерації сіль" -msgid "Visit 'http://www.freeipa.org/page/Releases/4.1.0#DNSSEC_Support'." -msgstr "" -"Відвідайте сторінку «http://www.freeipa.org/page/" -"Releases/4.1.0#DNSSEC_Support»." - -msgid "" -"If you encounter any problems please report them and restart 'named' service " -"on affected IPA server." -msgstr "" -"Якщо у вас виникають якісь проблеми, будь ласка, повідомте про них авторам " -"програми і перезапустіть службу «named» на відповідному сервері IPA." - msgid "setting Authoritative nameserver" msgstr "встановлення основного сервера назв" @@ -4619,8 +5482,11 @@ msgstr "Записи NS можна редагувати у апексі зони msgid "Create new DNS zone (SOA record)." msgstr "Створити зону DNS (запис SOA)." -msgid "Force" -msgstr "Примусово" +msgid "" +"Force DNS zone creation even if nameserver is not resolvable. (Deprecated)" +msgstr "" +"Примусове створення зони DNS, навіть якщо адресу сервера назв не вдається " +"визначити. (застаріле)" msgid "Force DNS zone creation even if nameserver is not resolvable." msgstr "" @@ -4640,6 +5506,9 @@ msgstr "Вилучено зону DNS «%(value)s»" msgid "Modify DNS zone (SOA record)." msgstr "Змінити зону DNS (запис SOA)." +msgid "Force" +msgstr "Примусово" + msgid "Force nameserver change even if nameserver not in DNS" msgstr "" "Примусово змінити сервер назв, навіть якщо запису сервера назв немає у DNS" @@ -4771,20 +5640,6 @@ msgstr "" "примусово створити запис сервера назв, навіть якщо відповідної назви вузла " "немає у DNS" -msgid "Please choose a type of DNS resource record to be added" -msgstr "Будь ласка, виберіть тип запису ресурсу DNS, який слід додати" - -#, python-format -msgid "The most common types for this type of zone are: %s\n" -msgstr "Найпоширенішими типами для цього типу зон є: %s\n" - -msgid "DNS resource record type" -msgstr "Тип запису ресурсу DNS" - -#, python-format -msgid "Invalid or unsupported type. Allowed values are: %s" -msgstr "Некоректний або непідтримуваний тип. Дозволені значення: %s" - #, python-format msgid "Raw value of a DNS record was already set by \"%(name)s\" option" msgstr "" @@ -4800,33 +5655,6 @@ msgstr "Кореневий запис зони DNS не можна перейм� msgid "DNS records can be only updated one at a time" msgstr "Записи DNS можна оновлювати лише поодинці" -msgid "No option to modify specific record provided." -msgstr "Можливості внесення змін у певний запис не передбачено." - -msgid "Current DNS record contents:\n" -msgstr "Поточний вміст запису DNS:\n" - -#, python-format -msgid "Modify %(name)s '%(value)s'?" -msgstr "Змінити значення «%(value)s» %(name)s?" - -#, 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] "" -"Пропущено %(count)d %(type)s запис. Одночасно можна змінювати лише одне " -"значення на тип запису DNS." -msgstr[1] "" -"Пропущено %(count)d %(type)s записи. Одночасно можна змінювати лише одне " -"значення на тип запису DNS." -msgstr[2] "" -"Пропущено %(count)d %(type)s записів. Одночасно можна змінювати лише одне " -"значення на тип запису DNS." - #, python-format msgid "Deleted record \"%(value)s\"" msgstr "Вилучено запис «%(value)s»" @@ -4834,13 +5662,6 @@ msgstr "Вилучено запис «%(value)s»" msgid "Delete DNS resource record." msgstr "Вилучити запис ресурсу DNS." -msgid "" -"Neither --del-all nor options to delete a specific record provided.\n" -"Command help may be consulted for all supported record types." -msgstr "" -"Не надано ні --del-all, ні параметрів вилучення певного запису.\n" -"Всі підтримувані типи записів можна знайти у виводі команди help." - msgid "Delete all associated records" msgstr "Вилучити всі пов’язані записи" @@ -4848,29 +5669,22 @@ msgstr "Вилучити всі пов’язані записи" msgid "Zone record '%s' cannot be deleted" msgstr "Запис зони «%s» не можна вилучати" -msgid "No option to delete specific record provided." -msgstr "Не вказано параметр вилучення певного запису." - -msgid "Delete all?" -msgstr "Вилучити все?" - -#, python-format -msgid "Delete %(name)s '%(value)s'?" -msgstr "Вилучити значення «%(value)s» %(name)s?" - msgid "Display DNS resource." msgstr "Показати ресурс DNS." msgid "Search for DNS resources." msgstr "Шукати ресурси DNS." -msgid "Resolve a host name in DNS." -msgstr "Визначити назву вузла у DNS." +msgid "Resolve a host name in DNS. (Deprecated)" +msgstr "Визначити назву вузла у DNS. (Застаріле)" #, python-format msgid "Found '%(value)s'" msgstr "Знайдено «%(value)s»" +msgid "Hostname (FQDN)" +msgstr "Назва вузла (FQDN)" + #, python-format msgid "Host '%(host)s' not found" msgstr "Вузла «%(host)s» не знайдено" @@ -4905,18 +5719,30 @@ msgstr "Дозволити синхронізацію прямих (A, AAAA) і msgid "Zone refresh interval" msgstr "Інтервал між оновленнями даних зони" +msgid "An interval between regular polls of the name server for new DNS zones" +msgstr "Інтервал між регулярними опитуваннями сервера назв щодо нових зон DNS" + +msgid "IPA DNS version" +msgstr "Версія DNS IPA" + +msgid "IPA DNS servers" +msgstr "Сервери DNS IPA" + +msgid "List of IPA masters configured as DNS servers" +msgstr "Список основних серверів IPA, які налаштовано як сервери DNS" + +msgid "IPA DNSSec key master" +msgstr "Основний сервер ключів DNSSec IPA" + +msgid "IPA server configured as DNSSec key master" +msgstr "Сервер IPA налаштований як основний сервер ключів DNSSec" + msgid "Global DNS configuration is empty" 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." @@ -4978,6 +5804,154 @@ msgstr "" "Вилучити права доступу до делегування доступу для окремих зон " "переспрямовування." +msgid "IPA DNS records" +msgstr "Записи DNS IPA" + +msgid "IPA location records" +msgstr "Записи місць IPA" + +msgid "Update location and IPA server DNS records" +msgstr "Оновити записи місць та серверів DNS IPA" + +msgid "Result of the command" +msgstr "Результат виконання команди" + +msgid "Dry run" +msgstr "Тестовий запуск" + +msgid "" +"\n" +"DNS server configuration\n" +msgstr "" +"\n" +"Налаштування сервера DNS\n" + +msgid "" +"\n" +"Manipulate DNS server configuration\n" +msgstr "" +"\n" +"Керування налаштуваннями сервера DNS\n" + +msgid "" +"\n" +" Show configuration of a specific DNS server:\n" +" ipa dnsserver-show\n" +msgstr "" +"\n" +" Показати налаштування певного сервера DNS:\n" +" ipa dnsserver-show\n" + +msgid "" +"\n" +" Update configuration of a specific DNS server:\n" +" ipa dnsserver-mod\n" +msgstr "" +"\n" +" Оновити налаштування для вказаного сервера DNS:\n" +" ipa dnsserver-mod\n" + +msgid "DNS server" +msgstr "Сервер DNS" + +msgid "DNS servers" +msgstr "Сервери DNS" + +msgid "DNS Servers" +msgstr "Сервери DNS" + +msgid "DNS Server" +msgstr "Сервер DNS" + +msgid "Server name" +msgstr "Назва сервера" + +msgid "DNS Server name" +msgstr "Назва сервера DNS" + +msgid "SOA mname override" +msgstr "Перевизначення mname SOA" + +msgid "SOA mname (authoritative server) override" +msgstr "Перевизначити mname SOA (довірений сервер)" + +msgid "Forwarders" +msgstr "Переспрямовувачі" + +msgid "" +"Per-server forwarders. A custom port can be specified for each forwarder " +"using a standard format \"IP_ADDRESS port PORT\"" +msgstr "" +"Окремі переспрямовувачі для серверів. Нетиповий порт можна вказати для " +"кожного переспрямовувача за допомогою стандартної конструкції «IP_АДРЕСА " +"port ПОРТ»" + +msgid "" +"Per-server conditional forwarding policy. Set to \"none\" to disable " +"forwarding to global forwarder for this zone. In that case, conditional zone " +"forwarders are disregarded." +msgstr "" +"Умовні правила переспрямування для окремого сервера. Встановіть значення " +"«none» для вимикання переспрямовувача загального рівня для цієї зони. Якщо " +"ви встановите це значення, умовні переспрямовувачі зони не братимуться до " +"уваги." + +msgid "Modify DNS server configuration" +msgstr "Змінити налаштування сервера DNS" + +#, python-format +msgid "Modified DNS server \"%(value)s\"" +msgstr "Змінено запис сервера DNS «%(value)s»" + +msgid "Search for DNS servers." +msgstr "Шукати сервери DNS." + +#, python-format +msgid "%(count)d DNS server matched" +msgid_plural "%(count)d DNS servers matched" +msgstr[0] "встановлено відповідність %(count)d сервера DNS" +msgstr[1] "встановлено відповідність %(count)d серверів DNS" +msgstr[2] "встановлено відповідність %(count)d серверів DNS" + +msgid "Display configuration of a DNS server." +msgstr "Показати налаштування сервера DNS." + +msgid "Add a new DNS server." +msgstr "Додати новий запис сервера DNS." + +#, python-format +msgid "Added new DNS server \"%(value)s\"" +msgstr "Додано новий запис сервера DNS «%(value)s»" + +msgid "Delete a DNS server" +msgstr "Вилучити запис сервера DNS" + +#, python-format +msgid "Deleted DNS server \"%(value)s\"" +msgstr "Вилучено сервер DNS «%(value)s»" + +msgid "Unable to communicate with CMS" +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. %(explanation)s" +msgstr "" +"Відповідь від програмного інтерфейсу REST CA, що не відповідає 2xx: " +"%(status)d. %(explanation)s" + +msgid "Response from CA was not valid JSON" +msgstr "Відповідь від CA не була коректним кодом JSON" + msgid "" "\n" "Raise the IPA Domain Level.\n" @@ -5183,6 +6157,12 @@ msgstr "" "\n" " ipa group-show ad_admins_external\n" +msgid "External member" +msgstr "Зовнішній учасник" + +msgid "Members of a trusted domain in DOM\\name or name@domain form" +msgstr "Учасники довіреного домену у форматі ДОМЕН\\ім’я або ім’я@домен" + msgid "group" msgstr "група" @@ -5201,12 +6181,6 @@ msgstr "Опис групи" msgid "GID (use this option to set it manually)" msgstr "GID (за допомогою цього параметра можна встановити значення вручну)" -msgid "External member" -msgstr "Зовнішній учасник" - -msgid "Members of a trusted domain in DOM\\name or name@domain form" -msgstr "Учасники довіреного домену у форматі ДОМЕН\\ім’я або ім’я@домен" - msgid "Create a new group." msgstr "Створити нову групу." @@ -5311,6 +6285,9 @@ msgstr "заборонено змінювати записи груп" msgid "Not a managed group" msgstr "Не є керованою групою" +msgid "Host-based access control commands" +msgstr "Команди керування доступом на основі вузлів" + msgid "" "\n" "Host-based access control\n" @@ -5410,9 +6387,6 @@ msgstr "" " Вилучення вказаного правила HBAC:\n" " ipa hbacrule-del allow_server\n" -msgid "Host-based access control commands" -msgstr "Команди керування доступом на основі вузлів" - msgid "The deny type has been deprecated." msgstr "Тип «deny» вважається застарілим." @@ -5443,9 +6417,21 @@ msgstr "Категорія користувачів, до якої застос� msgid "Host category the rule applies to" msgstr "Категорія вузлів, до якої застосовується правило" +msgid "Source host category" +msgstr "Категорія вузлів-джерел" + +msgid "Source host category the rule applies to" +msgstr "Категорія вузлів-джерел, якої має стосуватися правило" + msgid "Service category the rule applies to" msgstr "Категорія служб, до якої застосовується правило" +msgid "Source Hosts" +msgstr "Вузли-джерела" + +msgid "Source Host Groups" +msgstr "Групи вузлів-джерел" + msgid "Service Groups" msgstr "Групи служб" @@ -5563,9 +6549,6 @@ msgstr "" " ipa hbacsvc-del tftp\n" "\n" -msgid "Host based access control commands" -msgstr "Команди керування доступом на основі вузлів" - msgid "HBAC service" msgstr "Служба HBAC" @@ -6122,6 +7105,9 @@ msgstr "Результат імітації" msgid "User name" msgstr "Ім'я користувача" +msgid "Source host" +msgstr "Вузол джерела" + msgid "Target host" msgstr "Вузол призначення" @@ -6328,9 +7314,6 @@ msgstr "Серійний номер" msgid "Serial Number (hex)" msgstr "Серійний номер (шістнадцятковий)" -msgid "Failed managedby" -msgstr "Помилка managedby" - msgid "Users allowed to retrieve keytab" msgstr "Користувачі, яким дозволено отримувати таблицю ключів" @@ -6355,16 +7338,6 @@ 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" -msgstr "некоректна назва домену: %s" - msgid "host" msgstr "вузол" @@ -6411,6 +7384,9 @@ msgid "Generate a random password to be used in bulk enrollment" msgstr "" "Створити випадковий пароль, який буде використано для загальної реєстрації" +msgid "Base-64 encoded host certificate" +msgstr "Сертифікат вузла у кодуванні Base-64" + msgid "Principal name" msgstr "Назва реєстраційного запису" @@ -6458,8 +7434,11 @@ msgstr "Вилучити вузол." msgid "Deleted host \"%(value)s\"" msgstr "Вилучено вузол «%(value)s»" -msgid "Remove entries from DNS" -msgstr "Вилучити записи з DNS" +msgid "Remove A, AAAA, SSHFP and PTR records of the host(s) managed by IPA DNS" +msgstr "Вилучити записи A, AAAA, SSHFP і PTR вузлів, керованих DNS IPA" + +msgid "No A, AAAA, SSHFP or PTR records found." +msgstr "Не знайдено записів A, AAAA, SSHFP або PTR." msgid "Modify information about a host." msgstr "Змінити дані щодо вузла." @@ -6496,10 +7475,6 @@ msgstr "Показати дані щодо вузла." msgid "file to store certificate in" msgstr "файл, у якому зберігатимуться дані сертифіката" -#, python-format -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 і всі служби на вузлі." @@ -6538,6 +7513,20 @@ msgstr "" "Заборонити користувачам, групам, вузлам і групам вузлів створювати таблицю " "ключів цього вузла." +msgid "Add certificates to host entry" +msgstr "Додати сертифікати до запису вузла" + +#, python-format +msgid "Added certificates to host \"%(value)s\"" +msgstr "Додано сертифікати до запису вузла «%(value)s»" + +msgid "Remove certificates from host entry" +msgstr "Вилучити сертифікати із запису вузла" + +#, python-format +msgid "Removed certificates from host \"%(value)s\"" +msgstr "Вилучено сертифікати із запису вузла «%(value)s»" + msgid "" "\n" "Groups of hosts.\n" @@ -6639,6 +7628,12 @@ msgstr "Вилучити групу вузлів." msgid "Deleted hostgroup \"%(value)s\"" msgstr "Вилучено групу вузлів «%(value)s»" +msgid "hostgroup" +msgstr "група вузлів" + +msgid "privileged hostgroup" +msgstr "привілейована група вузлів" + msgid "Modify a hostgroup." msgstr "Змінити групу вузлів." @@ -6665,6 +7660,7 @@ msgstr "Додати записи до групи вузлів." msgid "Remove members from a hostgroup." msgstr "Вилучити записи з групи вузлів." +#, python-brace-format msgid "" "\n" "ID ranges\n" @@ -6796,20 +7792,7 @@ msgid "" "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" +"{0}\n" msgstr "" "\n" "Діапазони ідентифікаторів\n" @@ -6943,19 +7926,7 @@ msgstr "" "буде 1010. RID є унікальними в межах домену, є 32-бітовими значенням і\n" "використовуються для користувачів і груп.\n" "\n" -"ПОПЕРЕДЖЕННЯ:\n" -"\n" -"Додаток DNA у 389-ds розміщуватиме ідентифікатори на основі діапазонів\n" -"налаштованих для локального домену. У поточній версії додаток DNA *не " -"можна*\n" -"переналаштовувати самостійно на основі локальних діапазонів, встановлених\n" -"за допомогою цього сімейства команд.\n" -"\n" -"Зміни налаштувань вручну має бути виконано у налаштуваннях додатка DNA\n" -"для локального діапазону. Зокрема слід змінити атрибут dnaNextRange " -"«cn=Posix\n" -"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config» так, щоб\n" -"він відповідав новому діапазону.\n" +"{0}\n" msgid "ID Ranges" msgstr "Діапазони ідентифікаторів" @@ -7024,6 +7995,7 @@ msgstr "" msgid "SID is not recognized as a valid SID for a trusted domain" msgstr "SID не розпізнано як чинний SID для довіреного домену" +#, python-brace-format msgid "" "\n" " Add new ID range.\n" @@ -7045,58 +8017,29 @@ msgid "" "\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" -" " +"{0}\n" msgstr "" "\n" " Додати новий діапазон ідентифікаторів.\n" "\n" -" Для додавання нового діапазону ідентифікаторів вам слід завжди " -"вказувати\n" +" Щоб додати новий діапазон ідентифікаторів, вам слід завжди вказати\n" "\n" " --base-id\n" " --range-size\n" "\n" -" Крім того, може бути надано\n" +" Крім того, можна вказати\n" "\n" " --rid-base\n" -" --econdary-rid-base\n" +" --secondary-rid-base\n" "\n" -" для додавання нового діапазону ідентифікаторів для локального домену і\n" +" для нового діапазону ідентифікаторів для локального домену, а\n" "\n" " --rid-base\n" " --dom-sid\n" "\n" -" для додавання нового діапазону для довіреного домену AD.\n" -"\n" -" ПОПЕРЕДЖЕННЯ:\n" -"\n" -" Додаток DNA у 389-ds визначатиме ідентифікатори у діапазонах, " -"налаштованих\n" -" для локального домену. У поточній версії додаток DNA *не може* змінити\n" -" власні налаштування на основі локальних діапазонів, встановлених за\n" -" допомогою цього сімейства команд.\n" +" слід вказати для додавання нового діапазону для довіреного домену AD.\n" "\n" -" Для внесення змін щодо локального діапазону слід змінити налаштування\n" -" додатка DNA вручну. Зокрема, слід внести зміни до атрибута 'cn=Posix\n" -" IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' " -"відповідно\n" -" до параметрів нового діапазону.\n" -" " +"{0}\n" #, python-format msgid "Added ID range \"%(value)s\"" @@ -7174,13 +8117,28 @@ msgstr[2] "встановлено відповідність %(count)d діап� msgid "Display information about a range." msgstr "Показати дані щодо діапазону." -msgid "Modify ID range." -msgstr "Змінити діапазон ідентифікаторів." +#, python-brace-format +msgid "" +"Modify ID range.\n" +"\n" +"{0}\n" +msgstr "" +"Змінити діапазон ідентифікаторів.\n" +"\n" +"{0}\n" #, python-format msgid "Modified ID range \"%(value)s\"" msgstr "Змінено діапазон ідентифікаторів «%(value)s»" +msgid "" +"This command can not be used to change ID allocation for local IPA domain. " +"Run `ipa help idrange` for more information" +msgstr "" +"Цією командою не можна скористатися для зміни розподілу ідентифікаторів для " +"локального домену IPA. Щоб дізнатися більше, скористайтеся командою «ipa " +"help idrange»." + msgid "Options dom-sid and secondary-rid-base cannot be used together" msgstr "Параметри dom-sid і secondary-rid-base не можна використовувати разом" @@ -7212,6 +8170,16 @@ msgstr "Перегляд ідентифікаторів" msgid "system ID View" msgstr "системний перегляд ідентифікаторів" +msgid "Fallback to AD DC LDAP" +msgstr "Повернення до резервного DC LDAP AD" + +msgid "" +"Allow falling back to AD DC LDAP when resolving AD trusted objects. For two-" +"way trusts only." +msgstr "" +"Дозволити повернення до резервного варіанта LDAP DC AD під час визначення " +"адрес довірених об’єктів AD. Лише для двобічних відносин довіри." + msgid "ID Views" msgstr "Перегляди ідентифікаторів" @@ -7278,7 +8246,7 @@ 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." +"hostgroups. If any other ID View is applied to the host, it is overridden." msgstr "" "Застосовує перегляд ідентифікаторів до вказаних вузлів або поточних " "учасників вказаних груп вузлів. Якщо до вузла застосовується якийсь інший " @@ -7355,12 +8323,21 @@ msgstr "" msgid "Number of hosts that had a ID View was unset:" msgstr "Кількість вузлів, з яких знято перегляд ідентифікаторів:" +msgid "" +"You are trying to reference a magic private group which is not allowed to be " +"overridden. Try overriding the GID attribute of the corresponding user " +"instead." +msgstr "" +"Ви намагаєтеся послатися на магічну приватну групу, яку не можна " +"перевизначати Спробуйте краще перевизначити атрибут GID запису відповідного " +"користувача." + msgid "IPA object" msgstr "Об’єкт IPA" msgid "" "system IPA objects (e.g system groups, user private groups) cannot be " -"overriden" +"overridden" msgstr "" "системні об’єкти IPA (наприклад системні групи, приватні групи користувачів) " "не може бути перевизначено" @@ -7430,6 +8407,20 @@ msgstr "Перевизначення ідентифікатора групи" msgid "Group ID overrides" msgstr "Перевизначення ідентифікатора групи" +msgid "Add one or more certificates to the idoverrideuser entry" +msgstr "Додати один або декілька сертифікатів запису idoverrideuser" + +#, python-format +msgid "Added certificates to idoverrideuser \"%(value)s\"" +msgstr "Додано сертифікати до запису idoverrideuser «%(value)s»" + +msgid "Remove one or more certificates to the idoverrideuser entry" +msgstr "Вилучити один або декілька сертифікатів запису idoverrideuser" + +#, python-format +msgid "Removed certificates from idoverrideuser \"%(value)s\"" +msgstr "Вилучено сертифікати із запису idoverrideuser «%(value)s»" + msgid "Add a new User ID override." msgstr "Додати нове перевизначення ідентифікатора користувача." @@ -7640,25 +8631,53 @@ msgstr "Вилучено ${count} записів" msgid "Show Results" msgstr "Показати результати" -msgid "Implicit method (password) will be used if no method is chosen." +msgid "" +"

    Implicit method (password) will be used if no method is chosen.

    Password + Two-factor: LDAP and Kerberos allow " +"authentication with either one of the authentication types but Kerberos uses " +"pre-authentication method which requires to use armor ccache.

    RADIUS with another type: Kerberos always use RADIUS, " +"but LDAP never does. LDAP only recognize the password and two-factor " +"authentication options.

    " msgstr "" -"Якщо не буде вибрано жодного способу, використовуватиметься неявний спосіб " -"(пароль)." +"

    Якщо метод не вибрано, буде використано неявний метод (пароль).

    Пароль + двофакторне розпізнавання: у LDAP і Kerberos " +"передбачено розпізнавання за одним із цих типів розпізнавання, а у Kerberos " +"використовується метод попереднього розпізнавання, який потребує " +"використання ccache armor.

    RADIUS із іншим типом: у " +"Kerberos завжди використовується RADIUS, а у LDAP він не використовується " +"ніколи. LDAP розпізнає лише варіанти розпізнавання за паролем або " +"двофакторне розпізнавання.

    " + +msgid "OTP" +msgstr "OTP" msgid "Two factor authentication (password + OTP)" msgstr "Двофакторне розпізнавання (пароль + OTP)" -msgid "Radius" -msgstr "Radius" +msgid "RADIUS" +msgstr "RADIUS" msgid "Disable per-user override" msgstr "Вимкнути перевизначення на рівні користувача" msgid "" -"Per-user setting, overwrites the global setting if any option is checked." +"

    Per-user setting, overwrites the global setting if any option is checked." +"

    Password + Two-factor: LDAP and Kerberos allow " +"authentication with either one of the authentication types but Kerberos uses " +"pre-authentication method which requires to use armor ccache.

    RADIUS with another type: Kerberos always use RADIUS, " +"but LDAP never does. LDAP only recognize the password and two-factor " +"authentication options.

    " msgstr "" -"Окремий параметр користувача, перевизначає загальний параметр, якщо " -"позначено будь-який з пунктів." +"

    Параметр для окремих користувачів, перевизначає загальне значення, якщо " +"буде вибрано один з варіантів.

    Пароль + двофакторне " +"розпізнавання: у LDAP і Kerberos передбачено розпізнавання за одним " +"із цих типів розпізнавання, а у Kerberos використовується метод попереднього " +"розпізнавання, який потребує використання ccache armor.

    RADIUS " +"із іншим типом: у Kerberos завжди використовується RADIUS, а у LDAP " +"він не використовується ніколи. LDAP розпізнає лише варіанти розпізнавання " +"за паролем або двофакторне розпізнавання.

    " msgid "About" msgstr "Про програму" @@ -7705,6 +8724,9 @@ msgstr "Знайти" msgid "Get" msgstr "Отримати" +msgid "Hide" +msgstr "Приховати" + msgid "Issue" msgstr "Створити" @@ -7714,9 +8736,15 @@ msgstr "Гаразд" msgid "Refresh" msgstr "Оновити" +msgid "Reload current settings from the server." +msgstr "Перезавантажити поточні параметри з сервера." + msgid "Delete" msgstr "Вилучити" +msgid "Remove hold" +msgstr "Вилучити затримання" + msgid "Reset" msgstr "Скинути" @@ -7741,6 +8769,12 @@ msgstr "Зберегти" msgid "Set" msgstr "Встановити" +msgid "Show" +msgstr "Показати" + +msgid "Stage" +msgstr "Етап" + msgid "Update" msgstr "Оновити" @@ -7774,6 +8808,9 @@ msgstr "Оновлено ${primary_key} ${entity}" msgid "${entity} successfully added" msgstr "${entity} успішно додано" +msgid "Add custom value" +msgstr "Додати нетипове значення" + #, python-brace-format msgid "Add ${entity}" msgstr "Додати ${entity}" @@ -7790,6 +8827,9 @@ msgstr "Помилка під час обробки" msgid "Confirmation" msgstr "Підтвердження" +msgid "Custom value" +msgstr "Нетипове значення" + msgid "This page has unsaved changes. Please save or revert." msgstr "" "На цій сторінці виявлено незбережені зміни. Будь ласка, збережіть зміни або " @@ -7822,6 +8862,9 @@ msgstr "Виберіть записи, які слід вилучити." msgid "Remove ${entity}" msgstr "Вилучити ${entity}" +msgid "Result" +msgstr "Результат" + msgid "Show details" msgstr "Показати подробиці" @@ -8023,9 +9066,54 @@ msgstr "Безпосередній" msgid "Indirect" msgstr "Опосередкований" +msgid "All" +msgstr "Всі" + +msgid "Any CA" +msgstr "Будь-який CA" + +msgid "Any Host" +msgstr "Будь-який вузол" + +msgid "Any Service" +msgstr "Будь-яка служба" + +msgid "Any Profile" +msgstr "Будь-який профіль" + +msgid "Anyone" +msgstr "Будь-хто" + +msgid "Rule status" +msgstr "Стан правила" + +msgid "If no CAs are specified, requests to the default CA are allowed." +msgstr "Якщо не вказано CA, буде дозволено запити до типового CA." + +msgid "Specified CAs" +msgstr "Вказані CA" + +msgid "Specified Hosts and Groups" +msgstr "Вказані вузли і групи" + +msgid "Specified Profiles" +msgstr "Вказані профілі" + +msgid "Specified Services and Groups" +msgstr "Вказані служби і групи" + +msgid "Specified Users and Groups" +msgstr "Вказані користувачі і групи" + +msgid "Permitted to have certificates issued" +msgstr "Дозволено мати випущений сертифікат" + msgid "AA Compromise" msgstr "Компрометація AA" +msgid "Add principal" +msgstr "Додати реєстраційний запис" + msgid "Affiliation Changed" msgstr "Змінено місце роботи" @@ -8044,6 +9132,9 @@ msgstr "Скасування дії" msgid "Common Name" msgstr "Звичайне ім'я" +msgid "Download" +msgstr "Отримати" + msgid "Expires On" msgstr "Строк дії" @@ -8083,10 +9174,16 @@ msgstr "Відбитки" msgid "Get Certificate" msgstr "Отримати сертифікат" +msgid "Certificate Hold Removed" +msgstr "Затримання сертифіката вилучено" + #, python-brace-format msgid "Issue New Certificate for ${entity} ${primary_key}" msgstr "Створити сертифікат для ${primary_key} ${entity}" +msgid "Issue New Certificate" +msgstr "Видати новий сертифікат" + msgid "Issued By" msgstr "Видавець" @@ -8117,12 +9214,33 @@ msgstr "Установа" msgid "Organizational Unit" msgstr "Підрозділ установи" +#, python-brace-format +msgid "${count} certificate(s) present" +msgstr "Маємо ${count} сертифікатів" + msgid "Privilege Withdrawn" msgstr "Привілей відкликано" msgid "Reason for Revocation" msgstr "Причина відкликання" +msgid "Remove Hold" +msgstr "Вилучити затримання" + +#, python-brace-format +msgid "Remove Certificate Hold for ${entity} ${primary_key}" +msgstr "Вилучити затримання сертифіката для ${primary_key} ${entity}" + +msgid "Remove Certificate Hold" +msgstr "Вилучити затримання сертифіката" + +msgid "" +"To confirm your intention to remove the certificate hold, click the \"Remove " +"hold\" button." +msgstr "" +"Щоб підтвердити ваш намір вилучити затримання сертифіката, натисніть кнопку " +"«Вилучити затримання»." + msgid "Remove from CRL" msgstr "Вилучити з CRL" @@ -8130,41 +9248,29 @@ msgstr "Вилучити з CRL" 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:
    " +"
  • Create a CSR with subject CN=<${cn_name}>,O=<realm>, for example:
    # certutil -R -d <database path> -a -g " +"<key size> -s 'CN=${cn},O=${realm}'${san}
  • Copy and " +"paste the CSR (from -----BEGIN NEW CERTIFICATE REQUEST----- to " +"-----END NEW CERTIFICATE REQUEST-----) into the text area below: " msgstr "" "
    1. Створити базу даних сертифікатів або скористатися вже створеною. " "Щоб створити нову базу даних, віддайте команду:
      # certutil -N -d " "<шлях до бази даних>
    2. Створити CSR з призначенням " -"CN=<назва вузла>,O=<область>, наприклад:
      # " +"CN=<${cn_name}>,O=<область>, наприклад:
      # " "certutil -R -d <шлях до бази даних> -a -g <розмір ключа> -s 'CN=" -"${hostname},O=${realm}'
    3. Скопіюйте і вставте CSR (від " +"${cn},O=${realm}'${san}
    4. Скопіюйте і вставте CSR (від " "-----BEGIN NEW CERTIFICATE REQUEST----- до -----END NEW " "CERTIFICATE REQUEST-----) до області для введення тексту, розташованої " "нижче:
    " -msgid "Certificate requested" -msgstr "Надіслано запит щодо сертифікації" - #, python-brace-format -msgid "Restore Certificate for ${entity} ${primary_key}" -msgstr "Відновити сертифікат для ${primary_key} ${entity}" - -msgid "Restore Certificate" -msgstr "Відновити сертифікат" +msgid " -8 '${cn}'" +msgstr " -8 '${cn}'" -msgid "" -"To confirm your intention to restore this certificate, click the \"Restore\" " -"button." -msgstr "" -"Щоб підтвердити ваш намір відновити цей сертифікат, натисніть кнопку " -"«Відновити»." - -msgid "Certificate restored" -msgstr "Сертифікат відновлено" +msgid "Certificate requested" +msgstr "Надіслано запит щодо сертифікації" #, python-brace-format msgid "Revoke Certificate for ${entity} ${primary_key}" @@ -8232,9 +9338,6 @@ msgstr "Лише переспрямовувати" msgid "Options" msgstr "Параметри" -msgid "Data" -msgstr "Дані" - msgid "DNS record was deleted because it contained no data." msgstr "Запис DNS було вилучено, оскільки у ньому не містилося жодних даних." @@ -8307,6 +9410,9 @@ msgstr "Ви справді хочете вилучити права досту� msgid "Skip DNS check" msgstr "Пропустити перевірку DNS" +msgid "Skip overlap check" +msgstr "Пропустити перевірку перекриття" + msgid "Do you want to check if new authoritative nameserver address is in DNS" msgstr "Хочете перевірити, чи є адреса нового основного сервера назв у DNS" @@ -8340,33 +9446,12 @@ msgstr "POSIX" msgid "Group Type" msgstr "Тип групи" -msgid "Any Host" -msgstr "Будь-який вузол" - -msgid "Any Service" -msgstr "Будь-яка служба" - -msgid "Anyone" -msgstr "Будь-хто" - msgid "Accessing" msgstr "Доступ" -msgid "Rule status" -msgstr "Стан правила" - msgid "Via Service" msgstr "Проміжна служба" -msgid "Specified Hosts and Groups" -msgstr "Вказані вузли і групи" - -msgid "Specified Services and Groups" -msgstr "Вказані служби і групи" - -msgid "Specified Users and Groups" -msgstr "Вказані користувачі і групи" - msgid "Who" msgstr "Хто" @@ -8428,6 +9513,12 @@ msgstr "Реєстрація" msgid "Fully Qualified Host Name" msgstr "Повна назва вузла" +msgid "Generate OTP" +msgstr "Створити OTP" + +msgid "Generated OTP" +msgstr "Створений OTP" + msgid "Kerberos Key" msgstr "Ключ Kerberos" @@ -8611,7 +9702,7 @@ msgstr "На основі лічильника (HOTP)" msgid "Time-based (TOTP)" msgstr "На основі часу (TOTP)" -msgid "Add custom attribute" +msgid "Add Custom Attribute" msgstr "Додати нетиповий атрибут" msgid "Permission settings" @@ -8680,9 +9771,24 @@ msgstr "Примусове оновлення" msgid "Role Settings" msgstr "Параметри ролей" +msgid "Server Roles" +msgstr "Ролі сервера" + +msgid "Server Role" +msgstr "Роль сервера" + +msgid "Authentication indicators" +msgstr "Індикатори розпізнавання" + +msgid "Authentication indicator" +msgstr "Індикатор розпізнавання" + msgid "Service Certificate" msgstr "Сертифікат служби" +msgid "Add Custom Authentication Indicator" +msgstr "Додати нетиповий індикатор розпізнавання" + msgid "Service Settings" msgstr "Параметри служби" @@ -8726,6 +9832,10 @@ msgid "Are you sure you want to activate selected users?" msgstr "Ви справді хочете активувати позначені записи користувачів?" #, python-brace-format +msgid "Are you sure you want to activate ${object}?" +msgstr "Ви справді хочете активувати ${object}?" + +#, python-brace-format msgid "${count} user(s) activated" msgstr "Активовано ${count} записів користувачів" @@ -8735,6 +9845,17 @@ msgstr "Користувачі етапу" msgid "Preserved users" msgstr "Зарезервовані користувачі" +msgid "Are you sure you want to stage selected users?" +msgstr "Ви справді хочете зробити користувачами етапу позначених користувачів?" + +#, python-brace-format +msgid "${count} users(s) staged" +msgstr "Користувачами етапу зроблено ${count} користувачів" + +#, python-brace-format +msgid "Are you sure you want to stage ${object}?" +msgstr "Ви справді хочете виставити ${object}?" + msgid "Are you sure you want to restore selected users?" msgstr "Ви справді хочете відновити позначені записи користувачів?" @@ -8791,6 +9912,11 @@ msgstr "Подробиці сегмента" msgid "Replication configuration" msgstr "Налаштування реплікації" +#, python-brace-format +msgid "Managed topology requires minimal domain level ${domainlevel}" +msgstr "" +"Для керованої топології потрібен мінімальний рівень домену ${domainlevel}" + msgid "Account" msgstr "Обліковий запис" @@ -8830,6 +9956,9 @@ msgstr "Стан довіри" msgid "Trust type" msgstr "Тип довіри" +msgid "Alternative UPN suffixes" +msgstr "Альтернативні суфікси UPN" + msgid "Account Settings" msgstr "Параметри облікового запису" @@ -8910,9 +10039,6 @@ msgstr "Новий пароль" msgid "New password is required" msgstr "Слід вказати новий пароль" -msgid "OTP" -msgstr "OTP" - msgid "" " One-Time-Password(OTP): " "Generate new OTP code for each OTP field." @@ -8950,9 +10076,6 @@ msgstr "Скинути ваш пароль." msgid "Second OTP" msgstr "Другий OTP" -msgid "Token ID" -msgstr "Ідентифікатор жетона" - msgid "Verify Password" msgstr "Повторіть пароль" @@ -9063,9 +10186,15 @@ msgstr "Назад" msgid "Undo" msgstr "Скасувати" +msgid "Undo this change." +msgstr "Скасувати цю зміну." + msgid "Undo All" msgstr "скасувати всі дії" +msgid "Undo all changes in this field." +msgstr "Скасувати усі зміни у цьому полі." + msgid "Text does not match field pattern" msgstr "Текст не відповідає шаблону поля" @@ -9100,8 +10229,10 @@ msgstr "Максимальним є значення ${value}" msgid "Minimum value is ${value}" msgstr "Мінімальним є значення ${value}" -msgid "Not a valid network address" -msgstr "Некоректна адреса у мережі" +msgid "Not a valid network address (examples: 2001:db8::/64, 192.0.2.0/24)" +msgstr "" +"Некоректна адреса у мережі (приклади коректних адрес: 2001:db8::/64, " +"192.0.2.0/24)" msgid "Parse error" msgstr "Помилка обробки" @@ -9119,6 +10250,25 @@ msgstr "Непідтримуване значення" msgid "Dict of I18N messages" msgstr "Словник перекладених повідомлень" +msgid "The hostname to register as" +msgstr "Назва вузла для реєстрації" + +msgid "The IPA realm" +msgstr "Область IPA" + +msgid "Hardware platform of the host (e.g. Lenovo T61)" +msgstr "Апаратна платформа вузла (наприклад, «Lenovo T61»)" + +msgid "Operating System and version of the host (e.g. Fedora 9)" +msgstr "Операційна система вузла і її версія (наприклад, «Fedora 9»)" + +#, python-format +msgid "" +"Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry " +"'%s'." +msgstr "" +"Недостатні привілеї «write» до атрибута «krbLastPwdChange» запису «%s»." + msgid "" "\n" "Kerberos ticket policy\n" @@ -9230,6 +10380,131 @@ msgstr "Не вдалося прочитати типові правила що� msgid "Reset Kerberos ticket policy to the default values." msgstr "Відновити типові правила квитків Kerberos." +msgid "Could not read UPG Definition originfilter. Check your permissions." +msgstr "" +"Не вдалося прочитати фільтр походження (originfilter) UPG Definition. " +"Переконайтеся, що у вас є відповідні права доступу." + +msgid "" +"\n" +"IPA locations\n" +msgstr "" +"\n" +"Місця IPA\n" + +msgid "" +"\n" +"Manipulate DNS locations\n" +msgstr "" +"\n" +"Робота з місцями DNS\n" + +msgid "" +"\n" +" Find all locations:\n" +" ipa location-find\n" +msgstr "" +"\n" +" Знайти усі місця:\n" +" ipa location-find\n" + +msgid "" +"\n" +" Show specific location:\n" +" ipa location-show location\n" +msgstr "" +"\n" +" Показати певне місце:\n" +" ipa location-show location\n" + +msgid "" +"\n" +" Add location:\n" +" ipa location-add location --description 'My location'\n" +msgstr "" +"\n" +" Додати запис місця:\n" +" ipa location-add location --description 'My location'\n" + +msgid "" +"\n" +" Delete location:\n" +" ipa location-del location\n" +msgstr "" +"\n" +" Вилучити запис місця:\n" +" ipa location-del location\n" + +msgid "location" +msgstr "місце" + +msgid "locations" +msgstr "місця" + +msgid "IPA Locations" +msgstr "Місця IPA" + +msgid "IPA Location" +msgstr "Місце IPA" + +msgid "Location name" +msgstr "Назва місця" + +msgid "IPA location name" +msgstr "Назва місця IPA" + +msgid "IPA Location description" +msgstr "Опис місця IPA" + +msgid "Servers" +msgstr "Сервери" + +msgid "Servers that belongs to the IPA location" +msgstr "Сервери, що належать до запису місця IPA" + +msgid "Advertised by servers" +msgstr "Повідомлено серверами" + +msgid "List of servers which advertise the given location" +msgstr "Вивести список серверів, які повідомляють про вказане місце" + +msgid "Add a new IPA location." +msgstr "Додати новий запис місця IPA." + +#, python-format +msgid "Added IPA location \"%(value)s\"" +msgstr "Додано запис місця IPA «%(value)s»" + +msgid "Delete an IPA location." +msgstr "Вилучити місце IPA." + +#, python-format +msgid "Deleted IPA location \"%(value)s\"" +msgstr "Вилучено запис місця IPA «%(value)s»" + +msgid "Modify information about an IPA location." +msgstr "Змінити дані щодо місця IPA." + +#, python-format +msgid "Modified IPA location \"%(value)s\"" +msgstr "Змінено запис місця IPA «%(value)s»" + +msgid "Search for IPA locations." +msgstr "Шукати місця IPA." + +#, python-format +msgid "%(count)d IPA location matched" +msgid_plural "%(count)d IPA locations matched" +msgstr[0] "встановлено відповідність %(count)d місця IPA" +msgstr[1] "встановлено відповідність %(count)d місць IPA" +msgstr[2] "встановлено відповідність %(count)d місць IPA" + +msgid "Display information about an IPA location." +msgstr "Показати дані щодо місця IPA." + +msgid "Servers in location" +msgstr "Сервери у місці" + msgid "" "\n" "Migration to IPA\n" @@ -9626,26 +10901,7 @@ msgid "" msgstr "" "список результатів пошуку об’єктів міграції\n" "було обрізано сервером; ймовірно,\n" -"процес міграції не завершено\n" - -msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." -msgstr "" -"Режим міграції вимкнено. Скористайтеся командою «ipa config-mod», щоб " -"увімкнути його." - -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 "" -"Міграцію записів паролів здійснено у форматі до хешування.\n" -"IPA не вдасться створити ключі Kerberos, якщо не буде\n" -"надано текстових паролів. Всім користувачам з перенесеними\n" -"записами, доведеться пройти розпізнавання на\n" -"https://your.domain/ipa/migration/ до того, як вони зможуть\n" -"скористатися обліковими записами Kerberos." +"процес міграції не завершено\n" #, python-format msgid "" @@ -9677,6 +10933,9 @@ msgid "" msgstr "" "отримати і вивести всі атрибути з сервера. Стосується лише виводу команд." +msgid "Dictionary mapping variable name to value" +msgstr "Відображення назви змінної на значення за словником" + msgid "Total number of variables env (>= count)" msgstr "Кількість змінних env (>= count)" @@ -9821,6 +11080,9 @@ msgstr "Додати учасників до мережевої групи." msgid "Remove members from a netgroup." msgstr "Вилучити учасників з мережевої групи." +msgid "One time password commands" +msgstr "Команди для одноразового пароля" + msgid "" "\n" "OTP configuration\n" @@ -9872,9 +11134,6 @@ msgstr "" " Змінити тривалість максимального вікна синхронізації HOTP на 50:\n" " ipa hotpconfig-mod --hotp-sync-window=50\n" -msgid "One time password commands" -msgstr "Команди для одноразового пароля" - msgid "OTP configuration options" msgstr "Параметри налаштування OTP" @@ -10112,59 +11371,8 @@ msgstr "Показати інформацію щодо жетона OTP." msgid "Add users that can manage this token." msgstr "Додати записи користувачів, які можуть керувати цим жетоном." -msgid "Synchronize an OTP token." -msgstr "Синхронізувати жетон OTP." - -msgid "User ID" -msgstr "Ід. користувача" - -msgid "First Code" -msgstr "Перший код" - -msgid "Second Code" -msgstr "Другий код" - -msgid "" -"\n" -"YubiKey Tokens\n" -msgstr "" -"\n" -"Маркери YubiKey\n" - -msgid "" -"\n" -"Manage YubiKey tokens.\n" -msgstr "" -"\n" -"Керування жетонами YubiKey.\n" - -msgid "" -"\n" -"This code is an extension to the otptoken plugin and provides support for\n" -"reading/writing YubiKey tokens directly.\n" -msgstr "" -"\n" -"Цей код є розширенням до додатка otptoken, він надає підтримку " -"безпосереднього\n" -"читання та запису жетонів YubiKey.\n" - -msgid "" -"\n" -" Add a new token:\n" -" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" -msgstr "" -"\n" -" Додати новий жетон:\n" -" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" - -msgid "Add a new YubiKey OTP token." -msgstr "Додати новий жетон OTP YubiKey." - -msgid "YubiKey slot" -msgstr "Слот YubiKey" - -msgid "No free YubiKey slot!" -msgstr "Немає вільних слотів YubiKey!" +msgid "Remove users that can manage this token." +msgstr "Вилучити записи користувачів, які можуть керувати цим жетоном." msgid "" "\n" @@ -10214,9 +11422,6 @@ msgstr "Одноразовий пароль" msgid "Changed password for \"%(value)s\"" msgstr "Змінити пароль «%(value)s»" -msgid "Invalid credentials" -msgstr "Реєстраційні дані вказано з помилками" - msgid "" "\n" "Permissions\n" @@ -10411,6 +11616,9 @@ msgstr "«%s» не є об’єктним типом" msgid "\"%s\" is not a valid permission type" msgstr "«%s» не є коректним типом прав доступу" +msgid "Permission flags" +msgstr "Прапорці прав доступу" + msgid "permission" msgstr "права доступу" @@ -10579,9 +11787,6 @@ msgstr "Додати системні права доступу без ACI (вн msgid "Added permission \"%(value)s\"" msgstr "Додано права доступу «%(value)s»" -msgid "Permission flags" -msgstr "Прапорці прав доступу" - msgid "Add a new permission." msgstr "Додати нові права доступу." @@ -10798,6 +12003,14 @@ msgstr "" "\n" "Щоб дізнатися більше, ознайомтеся з довідною щодо ролей та прав доступу.\n" +#, python-format +msgid "" +"cannot add permission \"%(perm)s\" with bindtype \"%(bindtype)s\" to a " +"privilege" +msgstr "" +"неможливо додати права доступу «%(perm)s» з типом прив’язки «%(bindtype)s» " +"до привілею" + msgid "privilege" msgstr "привілей" @@ -10859,14 +12072,6 @@ msgstr "Додати права доступу до привілею." msgid "Number of permissions added" msgstr "Кількість доданих прав доступу" -#, python-format -msgid "" -"cannot add permission \"%(perm)s\" with bindtype \"%(bindtype)s\" to a " -"privilege" -msgstr "" -"неможливо додати права доступу «%(perm)s» з типом прив’язки «%(bindtype)s» " -"до привілею" - msgid "Remove permissions from a privilege." msgstr "Вилучити права доступу з привілею." @@ -11273,23 +12478,43 @@ msgstr "Змінити домени області." msgid "Force adding domain even if not in DNS" msgstr "Примусове додавання домену, навіть якщо назви немає у DNS" +#, python-format msgid "" -"you cannot specify the --domain option together with --add-domain or --del-" -"domain" +"DNS zone for each realmdomain must contain SOA or NS records. No records " +"found for: %s" msgstr "" -"не можна вказувати параметр --domain разом з параметром --add-domain або --" -"del-domain" - -msgid "cannot delete domain of IPA server" -msgstr "не можна вилучати домен сервера IPA" +"Запис зони DNS для кожного realmdomain має містити записи SOA або NS. Для %s " +"таких записів не виявлено" #, python-format -msgid "no SOA or NS records found for domains: %s" -msgstr "не знайдено записів SOA або NS для таких доменів: %s" +msgid "The following domains do not belong to this realm: %(domains)s" +msgstr "Вказані нижче домени не належать до цієї області: %(domains)s" #, python-format -msgid "no SOA or NS records found for domain %s" -msgstr "не знайдено записів SOA або NS для домену %s" +msgid "" +"The realm of the following domains could not be detected: %(domains)s. If " +"these are domains that belong to the this realm, please create a _kerberos " +"TXT record containing \"%(realm)s\" in each of them." +msgstr "" +"Не вдалося виявити область таких доменів: %(domains)s. Якщо ці домени " +"належать до цієї області, будь ласка, створіть запис TXT _kerberos, що " +"міститиме «%(realm)s», на кожному з них." + +msgid "" +"The --domain option cannot be used together with --add-domain or --del-" +"domain. Use --domain to specify the whole realm domain list explicitly, to " +"add/remove individual domains, use --add-domain/del-domain." +msgstr "" +"Параметр --domain не можна використовувати разом із параметрами --add-domain " +"і --del-domain. Скористайтеся параметром --domain для визначення усього " +"списку доменів області явним чином. Щоб додати або вилучити окремі домени, " +"скористайтеся параметрами --add-domain/del-domain." + +msgid "IPA server domain cannot be omitted" +msgstr "Домен сервера IPA не можна пропускати" + +msgid "IPA server domain cannot be deleted" +msgstr "Домен сервера IPA не можна вилучати" msgid "Display the list of realm domains." msgstr "Показати список доменів області." @@ -11444,6 +12669,110 @@ msgstr "Кількість вилучених привілеїв" msgid "" "\n" +"API Schema\n" +msgstr "" +"\n" +"Схема API\n" + +msgid "" +"\n" +"Provides API introspection capabilities.\n" +msgstr "" +"\n" +"Надає можливості інтроспекції програмного інтерфейсу.\n" + +msgid "" +"\n" +" Show user-find details:\n" +" ipa command-show user-find\n" +msgstr "" +"\n" +" Показати подробиці щодо user-find:\n" +" ipa command-show user-find\n" + +msgid "" +"\n" +" Find user-find parameters:\n" +" ipa param-find user-find\n" +msgstr "" +"\n" +" Знайти параметри user-find:\n" +" ipa param-find user-find\n" + +msgid "Documentation" +msgstr "Документація" + +msgid "Exclude from" +msgstr "Виключити з" + +msgid "Include in" +msgstr "Включити до" + +msgid "Help topic" +msgstr "Тема довідки" + +msgid "Display information about a command." +msgstr "Показати інформацію щодо команди." + +msgid "Search for commands." +msgstr "Шукати команди." + +msgid "Display information about a help topic." +msgstr "Показати дані щодо теми довідки." + +msgid "Search for help topics." +msgstr "Шукати у темах довідки." + +msgid "Required" +msgstr "Обов’язкове" + +msgid "Multi-value" +msgstr "Багато значень" + +msgid "Always ask" +msgstr "Завжди питати" + +msgid "CLI metavar" +msgstr "Метазмінна CLI" + +msgid "CLI name" +msgstr "Назва CLI" + +msgid "Confirm (password)" +msgstr "Підтвердження (пароль)" + +msgid "Default" +msgstr "Типовий" + +msgid "Default from" +msgstr "Типовий з" + +msgid "Label" +msgstr "Мітка" + +msgid "Convert on server" +msgstr "Перетворити на сервері" + +msgid "Option group" +msgstr "Група варіантів" + +msgid "Sensitive" +msgstr "З врахуванням" + +msgid "Display information about a command parameter." +msgstr "Показати інформацію щодо параметра команди." + +msgid "Search command parameters." +msgstr "Шукати параметри команди." + +msgid "Display information about a command output." +msgstr "Показати інформацію щодо даних, які виводить команда." + +msgid "Search for command outputs." +msgstr "Шукати за даними, які виводить команда." + +msgid "" +"\n" "Self-service Permissions\n" "\n" "A permission enables fine-grained delegation of permissions. Access Control\n" @@ -11812,46 +13141,262 @@ msgstr "сервери" msgid "IPA Servers" msgstr "Сервери IPA" -msgid "Server name" -msgstr "Назва сервера" +msgid "IPA server hostname" +msgstr "Назва вузла сервера IPA" + +msgid "Managed suffixes" +msgstr "Керовані суфікси" + +msgid "Min domain level" +msgstr "Мін. рівень домену" + +msgid "Minimum domain level" +msgstr "Мінімальний рівень домену" + +msgid "Max domain level" +msgstr "Макс. рівень домену" + +msgid "Maximum domain level" +msgstr "Максимальний рівень домену" + +msgid "Server location" +msgstr "Місце сервера" + +msgid "Service weight" +msgstr "Вага служб" + +msgid "Weight for server services" +msgstr "Вага служб сервера" + +msgid "Service relative weight" +msgstr "Відносна вага служб" + +msgid "Relative weight for server services (counts per location)" +msgstr "Відносна вага служб для сервера (обчислюється для окремого місця)" + +msgid "Enabled server roles" +msgstr "Увімкнені ролі сервера" + +msgid "List of enabled roles" +msgstr "Список усіх увімкнених ролей" + +msgid "Modify information about an IPA server." +msgstr "Змінити дані щодо сервера IPA." + +#, python-format +msgid "Modified IPA server \"%(value)s\"" +msgstr "Змінено запис сервера IPA «%(value)s»" + +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 "Ignore topology errors" +msgstr "Ігнорувати помилки топології" + +msgid "Ignore topology connectivity problems after removal" +msgstr "Ігнорувати проблеми із з’єднуваністю топології після вилучення" + +msgid "Ignore check for last remaining CA or DNS server" +msgstr "" +"Ігнорувати перевірку на те, чи є сервер, який вилучають, останнім сервером " +"CA або DNS" + +msgid "Skip a check whether the last CA master or DNS server is removed" +msgstr "" +"Пропустити перевірку того, чи вилучено останній основний сервер CA або " +"сервер DNS" + +msgid "Force server removal" +msgstr "Примусове вилучення сервера" + +msgid "Force server removal even if it does not exist" +msgstr "Примусове вилучення сервера, навіть якщо його не існує" + +msgid "" +"Deleting this server is not allowed as it would leave your installation " +"without a CA." +msgstr "" +"Вилучення цього сервера заборонено, оскільки воно залишить вашу встановлену " +"систему без CA." + +msgid "" +"Replica is active DNSSEC key master. Uninstall could break your DNS system. " +"Please disable or replace DNSSEC key master first." +msgstr "" +"Репліка є активним основним сервером ключів DNSSEC. Вилучення може зашкодити " +"вашій системі DNS. Будь ласка, спочатку вимкніть або замініть основний " +"сервер ключів DNSSEC." + +msgid "Deleting this server will leave your installation without a DNS." +msgstr "" +"Вилучення цього запису сервера залишить вашу встановлену систему без DNS." + +msgid "Ignoring these warnings and proceeding with removal" +msgstr "Ігноруємо ці попередження і продовжуємо процедуру вилучення" + +#, python-format +msgid "" +"Failed to clean memberPrincipal %(principal)s from s4u2proxy entry %(dn)s: " +"%(err)s" +msgstr "" +"Не вдалося вилучити %(principal)s memberPrincipal із запису s4u2proxy " +"%(dn)s: %(err)s" + +#, python-format +msgid "Failed to clean up DNA hostname entries for %(master)s: %(err)s" +msgstr "Не вдалося вилучити записи назви вузла DNA для %(master)s: %(err)s" + +#, python-format +msgid "Failed to remove server %(master)s from server list: %(err)s" +msgstr "" +"Не вдалося вилучити запис сервера %(master)s зі списку серверів: %(err)s" + +#, python-format +msgid "Failed to cleanup server principals/keys: %(err)s" +msgstr "Не вдалося вилучити реєстраційні запис або ключі сервера: %(err)s" + +#, python-format +msgid "Failed to cleanup %(hostname)s DNS entries: %(err)s" +msgstr "Не вдалося вилучити записи DNS %(hostname)s: %(err)s" + +msgid "You may need to manually remove them from the tree" +msgstr "Ймовірно, вам доведеться вилучити їх із ієрархії вручну" + +#, python-format +msgid "Forcing removal of %(hostname)s" +msgstr "Примусово вилучаємо %(hostname)s" + +msgid "Ignoring topology connectivity errors." +msgstr "Ігноруємо помилки із з’єднуваністю топології." + +msgid "Server has already been deleted" +msgstr "Запис сервера вже вилучено" + +msgid "Agreements deleted" +msgstr "Угоди вилучено" + +msgid "Following segments were not deleted:" +msgstr "Вказані нижче сегменти не було вилучено:" + +msgid "Check connection to remote IPA server." +msgstr "Перевірити з’єднання із віддаленим сервером IPA." + +msgid "Remote server name" +msgstr "Назва віддаленого сервера" + +msgid "Remote IPA server hostname" +msgstr "Назва вузла віддаленого сервера IPA" + +#, python-format +msgid "must be \"%s\"" +msgstr "має бути «%s»" + +msgid "not allowed to perform server connection check" +msgstr "не дозволено виконувати перевірку з’єднання сервера" + +msgid "" +"\n" +"IPA server roles\n" +msgstr "" +"\n" +"Ролі сервера IPA\n" + +msgid "" +"\n" +"Get status of roles (DNS server, CA, etc.) provided by IPA masters.\n" +msgstr "" +"\n" +"Отримати стан ролей (сервер DNS, CA тощо), що надається основними серверами " +"IPA.\n" + +msgid "" +"\n" +" Show status of 'DNS server' role on a server:\n" +" ipa server-role-show ipa.example.com \"DNS server\"\n" +msgstr "" +"\n" +" Показати стан ролі «DNS server» на сервері:\n" +" ipa server-role-show ipa.example.com \"DNS server\"\n" + +msgid "" +"\n" +" Show status of all roles containing 'AD' on a server:\n" +" ipa server-role-find --server ipa.example.com --role='AD'\n" +msgstr "" +"\n" +" Показати стан усіх ролей, назва яких містить «AD», на сервері:\n" +" ipa server-role-find --server ipa.example.com --role='AD'\n" + +msgid "" +"\n" +" Show status of all configured roles on a server:\n" +" ipa server-role-find ipa.example.com\n" +msgstr "" +"\n" +" Показати стан усіх налаштованих ролей на сервері:\n" +" ipa server-role-find ipa.example.com\n" + +msgid "server role" +msgstr "роль сервера" -msgid "IPA server hostname" -msgstr "Назва вузла сервера IPA" +msgid "server roles" +msgstr "ролі сервера" -msgid "Managed suffix" -msgstr "Керований суфікс" +msgid "IPA Server Roles" +msgstr "Ролі сервера IPA" -msgid "Min domain level" -msgstr "Мін. рівень домену" +msgid "IPA Server Role" +msgstr "Роль сервера IPA" -msgid "Minimum domain level" -msgstr "Мінімальний рівень домену" +msgid "IPA server role name" +msgstr "Назва ролі сервера IPA" -msgid "Max domain level" -msgstr "Макс. рівень домену" +msgid "Role status" +msgstr "Стан ролі" -msgid "Maximum domain level" -msgstr "Максимальний рівень домену" +msgid "Status of the role" +msgstr "Стан ролі" -msgid "Search for IPA servers." -msgstr "Шукати сервери IPA." +msgid "Show role status on a server" +msgstr "Показати стан ролі на сервері" + +msgid "Find a server role on a server(s)" +msgstr "Знайти роль сервера на серверах" #, 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 "%(count)s server role matched" +msgid_plural "%(count)s server roles matched" +msgstr[0] "встановлено відповідність %(count)s ролі сервера" +msgstr[1] "встановлено відповідність %(count)s ролей сервера" +msgstr[2] "встановлено відповідність %(count)s ролей сервера" -msgid "Show IPA server." -msgstr "Показати сервер IPA." +msgid "IPA role name" +msgstr "Назва ролі IPA" -msgid "Delete IPA server." -msgstr "Вилучити сервер IPA." +#, python-brace-format +msgid "{role}: role not found" +msgstr "{role}: такої ролі не знайдено" -#, python-format -msgid "Deleted IPA server \"%(value)s\"" -msgstr "Вилучено сервер IPA «%(value)s»" +#, python-brace-format +msgid "{attr}: no such attribute" +msgstr "{attr}: немає такого атрибута" msgid "" "\n" @@ -12025,6 +13570,9 @@ msgstr "служби" msgid "Service principal" msgstr "Реєстраційний запис служби" +msgid "Base-64 encoded service certificate" +msgstr "Сертифікат служби у кодуванні Base-64" + msgid "PAC type" msgstr "Тип PAC" @@ -12036,10 +13584,23 @@ msgstr "" "значенням «NONE», щоб вимкнути підтримку PAC для цієї служби. Це, наприклад, " "може бути необхідним для служб NFS." +msgid "Authentication Indicators" +msgstr "Індикатори розпізнавання" + +msgid "" +"Defines a whitelist for Authentication Indicators. Use 'otp' to allow OTP-" +"based 2FA authentications. Use 'radius' to allow RADIUS-based 2FA " +"authentications. Other values may be used for custom configurations." +msgstr "" +"Визначає «білий» список для індикаторів розпізнавання. Скористайтеся " +"значенням «otp», щоб дозволити розпізнавання 2FA на основі OTP. " +"Скористайтеся значенням «radius», щоб дозволити розпізнавання 2FA на основі " +"RADIUS. Іншими значеннями можна скористатися для нетипових конфігурацій." + msgid "NONE value cannot be combined with other PAC types" msgstr "Значення NONE не можна поєднувати з іншими типами PAC" -msgid "Add a new IPA new service." +msgid "Add a new IPA service." msgstr "Додати нову службу IPA." #, python-format @@ -12121,6 +13682,20 @@ msgstr "Вимкнути ключ Kerberos і сертифікат SSL служ� msgid "Disabled service \"%(value)s\"" msgstr "Вимкнено службу «%(value)s»" +msgid "Add new certificates to a service" +msgstr "Додати нові сертифікати до запису служби" + +#, python-format +msgid "Added certificates to service principal \"%(value)s\"" +msgstr "Додано сертифікати до реєстраційного запис служби «%(value)s»" + +msgid "Remove certificates from a service" +msgstr "Вилучити сертифікати із запису служби" + +#, python-format +msgid "Removed certificates from service principal \"%(value)s\"" +msgstr "Вилучено сертифікати із реєстраційного запису служби «%(value)s»" + msgid "" "\n" "Service Constrained Delegation\n" @@ -12178,7 +13753,7 @@ msgid "" "\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" +"ipa-ldap-delegation-targets. Incorrect changes can remove the ability\n" "to delegate, causing the framework to stop functioning.\n" msgstr "" "\n" @@ -12253,9 +13828,6 @@ msgstr "Дозволено виконувати імперсонацію" msgid "Member principals" msgstr "Реєстраційні записи учасників" -msgid "Failed targets" -msgstr "Помилкові цілі" - msgid "Add target to a named service delegation." msgstr "Додати ціль до делегування іменованої служби." @@ -12372,27 +13944,28 @@ msgid "" "\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" +"Users can not authenticate with those entries (even if the entries\n" +"contain credentials). Those entries are only 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" +"Users can authenticate with Active entries, at the condition they have\n" +"credentials.\n" "\n" -"Delete user entries are Posix users directly under the container: " +"Deleted user entries 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" +"Users 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" +"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" +"A valid stage user entry MUST have:\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" @@ -12407,7 +13980,7 @@ msgid "" " Add a new stageuser:\n" " ipa stageuser-add --first=Tim --last=User --password tuser1\n" "\n" -" Add a stageuser from the Delete container\n" +" Add a stageuser from the deleted users container:\n" " ipa stageuser-add --first=Tim --last=User --from-delete tuser1\n" "\n" msgstr "" @@ -12445,7 +14018,7 @@ msgstr "" "але слід зважати на різноманітні обмеження, які можуть стосуватися " "середовища,\n" "у якому ви працюєте. Наприклад, імена користувачів, що починаються з цифри,\n" -"або імена користувачів, довжина яких перевищує певну довжину, що може\n" +"або імена користувачів, довжина яких перевищує певну довжину, можуть\n" "призвести до проблем у деяких системах UNIX.\n" "Для зміни формату, який дозволено інструментами IPA, скористайтеся командою\n" "'ipa config-mod'.\n" @@ -12456,7 +14029,7 @@ msgstr "" " Додати нового користувача етапу:\n" " ipa stageuser-add --first=Tim --last=User --password tuser1\n" "\n" -" Додати користувача етапу з контейнера Delete\n" +" Додати користувача етапу з контейнера вилучених користувачів\n" " ipa stageuser-add --first=Tim --last=User --from-delete tuser1\n" "\n" @@ -12526,17 +14099,27 @@ msgstr "Активувати користувача етапу «%(value)s»" msgid "Entry RDN is not 'uid'" msgstr "RDN запису не належить до «uid»" -msgid "Entry has no 'cn'" -msgstr "У записі немає «cn»" +#, python-format +msgid "Entry has no '%(attribute)s'" +msgstr "У запису немає атрибута «%(attribute)s»" #, python-format -msgid "Active user %(user)s already exists" -msgstr "Активний запис користувача %(user)s вже існує" +msgid "active user with name \"%(user)s\" already exists" +msgstr "запис активного користувача із іменем «%(user)s» вже існує" #, python-format msgid "Stage user %s activated" msgstr "Активовано користувача етапу %s" +msgid "Add a manager to the stage user entry" +msgstr "Додати керування до запису користувача етапу" + +msgid "Remove a manager to the stage user entry" +msgstr "Вилучити керування із запису користувача етапу" + +msgid "commands for controlling sudo configuration" +msgstr "команди керування налаштуванням sudo" + msgid "" "\n" "Sudo Commands\n" @@ -12566,9 +14149,6 @@ msgstr "" " ipa sudocmd-del /usr/bin/less\n" "\n" -msgid "commands for controlling sudo configuration" -msgstr "команди керування налаштуванням sudo" - msgid "sudo command" msgstr "команда sudo" @@ -12637,10 +14217,10 @@ msgid "" "vim admincmds\n" "\n" " Manage Sudo Command Group membership, commands:\n" -" ipa group-remove-member --sudocmds=/usr/bin/less admincmds\n" +" ipa sudocmdgroup-remove-member --sudocmds=/usr/bin/less admincmds\n" "\n" " Show a Sudo Command Group:\n" -" ipa group-show localadmins\n" +" ipa sudocmdgroup-show admincmds\n" msgstr "" "\n" "Групи команд sudo\n" @@ -12660,10 +14240,10 @@ msgstr "" "vim admincmds\n" "\n" " Керування участю групи команд sudo, команди:\n" -" ipa group-remove-member --sudocmds=/usr/bin/less admincmds\n" +" ipa sudocmdgroup-remove-member --sudocmds=/usr/bin/less admincmds\n" "\n" " Показ групи команд sudo:\n" -" ipa group-show localadmins\n" +" ipa sudocmdgroup-show admincmds\n" msgid "sudo command group" msgstr "група команд sudo" @@ -12854,9 +14434,6 @@ msgstr "" " Встановити типовий варіант дій для sudo:\n" " ipa sudorule-add-option defaults --sudooption '!authenticate'\n" -msgid "Commands for controlling sudo configuration" -msgstr "Команди керування налаштуванням sudo" - msgid "this option has been deprecated." msgstr "цей параметр вважається застарілим." @@ -13039,17 +14616,9 @@ msgstr "Показати правило sudo." msgid "Enable a Sudo Rule." msgstr "Увімкнути правило sudo." -#, python-format -msgid "Enabled Sudo Rule \"%s\"" -msgstr "Увімкнено правило sudo «%s»" - msgid "Disable a Sudo Rule." msgstr "Вимкнути правило sudo." -#, python-format -msgid "Disabled Sudo Rule \"%s\"" -msgstr "Вимкнено правило «%s»" - msgid "Add commands and sudo command groups affected by Sudo Rule." msgstr "Додати команди і групи команд sudo, яких стосується правило sudo." @@ -13105,31 +14674,174 @@ msgstr "Вилучити групу виконання з запису sudo." msgid "Add an option to the Sudo Rule." msgstr "Додати пункт до правила sudo." -#, python-format -msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" -msgstr "До правила sudo «%(rule)s» додано параметр «%(option)s»" - msgid "Remove an option from Sudo Rule." msgstr "Вилучити пункт з правила sudo." -#, python-format -msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\"" -msgstr "З правила sudo «%(rule)s» вилучено параметр «%(option)s»" - msgid "" "\n" "Topology\n" "\n" -"Management of a replication topology.\n" -"\n" -"Requires minimum domain level 1.\n" +"Management of a replication topology at domain level 1.\n" msgstr "" "\n" "Топологія\n" "\n" -"Керування топологією реплікації.\n" +"Керування топологією реплікації на домені рівня 1.\n" + +msgid "" +"\n" +"IPA server's data is stored in LDAP server in two suffixes:\n" +"* domain suffix, e.g., 'dc=example,dc=com', contains all domain related " +"data\n" +"* ca suffix, 'o=ipaca', is present only on server with CA installed. It\n" +" contains data for Certificate Server component\n" +msgstr "" +"\n" +"Дані сервера IPA зберігаються на сервері LDAP у двох суфіксах:\n" +"* суфіксі домену, наприклад «dc=example,dc=com», тут містяться усі пов’язані " +"із доменом дані\n" +"* суфіксі ca, «o=ipaca», наявні лише на серверах із встановленим CA. Тут\n" +" містяться дані для компонента сервера сертифікатів.\n" + +msgid "" +"\n" +"Data stored on IPA servers is replicated to other IPA servers. The way it " +"is\n" +"replicated is defined by replication agreements. Replication agreements " +"needs\n" +"to be set for both suffixes separately. On domain level 0 they are managed\n" +"using ipa-replica-manage and ipa-csreplica-manage tools. With domain level " +"1\n" +"they are managed centrally using `ipa topology*` commands.\n" +msgstr "" +"\n" +"Дані, що зберігаються на серверах IPA, відтворюються на інших серверах IPA. " +"Спосіб\n" +"відтворення (реплікації) визначається угодами. Угоди реплікації потрібно\n" +"встановлювати для обох суфіксів окремо. На рівні домену 0 угодами керують\n" +"програми ipa-replica-manage та ipa-csreplica-manage. На рівні доменів 1\n" +"керування виконується централізовано за допомогою команд «ipa topology*».\n" + +msgid "" +"\n" +"Agreements are represented by topology segments. By default topology " +"segment\n" +"represents 2 replication agreements - one for each direction, e.g., A to B " +"and\n" +"B to A. Creation of unidirectional segments is not allowed.\n" +msgstr "" +"\n" +"Угоди представляються сегментами топології. Типово, сегмент топології\n" +"представляється 2 угодами реплікації — по одній для кожного напрямку, " +"наприклад\n" +"від A до B і від B до A. Створення односпрямованих сегментів заборонене.\n" + +msgid "" +"\n" +"To verify that no server is disconnected in the topology of the given " +"suffix,\n" +"use:\n" +" ipa topologysuffix-verify $suffix\n" +msgstr "" +"\n" +"Щоб перевірити, що жоден сервер не від’єднано у топології вказаного " +"суфікса,\n" +"скористайтеся такою командою:\n" +" ipa topologysuffix-verify $suffix\n" + +msgid "" +"\n" +"\n" +"Examples:\n" +" Find all IPA servers:\n" +" ipa server-find\n" +msgstr "" +"\n" +"\n" +"Приклади:\n" +" Знайти усі сервери IPA:\n" +" ipa server-find\n" + +msgid "" +"\n" +" Find all suffixes:\n" +" ipa topologysuffix-find\n" +msgstr "" +"\n" +" Знайти усі суфікси:\n" +" ipa topologysuffix-find\n" + +msgid "" +"\n" +" Add topology segment to 'domain' suffix:\n" +" ipa topologysegment-add domain --left IPA_SERVER_A --right IPA_SERVER_B\n" +msgstr "" +"\n" +" Додати сегмент топології до суфікса «domain»:\n" +" ipa topologysegment-add domain --left IPA_SERVER_A --right IPA_SERVER_B\n" + +msgid "" +"\n" +" Add topology segment to 'ca' suffix:\n" +" ipa topologysegment-add ca --left IPA_SERVER_A --right IPA_SERVER_B\n" +msgstr "" +"\n" +" Додати сегмент топології до суфікса «ca»:\n" +" ipa topologysegment-add ca --left IPA_SERVER_A --right IPA_SERVER_B\n" + +msgid "" +"\n" +" List all topology segments in 'domain' suffix:\n" +" ipa topologysegment-find domain\n" +msgstr "" +"\n" +" Вивести список усіх сегментів топології у суфіксі «domain»:\n" +" ipa topologysegment-find domain\n" + +msgid "" +"\n" +" List all topology segments in 'ca' suffix:\n" +" ipa topologysegment-find ca\n" +msgstr "" +"\n" +" Вивести список усіх сегментів топології у суфіксі «ca»:\n" +" ipa topologysegment-find ca\n" + +msgid "" +"\n" +" Delete topology segment in 'domain' suffix:\n" +" ipa topologysegment-del domain segment_name\n" +msgstr "" +"\n" +" Вилучити сегмент топології у суфіксі «domain»:\n" +" ipa topologysegment-del domain segment_name\n" + +msgid "" +"\n" +" Delete topology segment in 'ca' suffix:\n" +" ipa topologysegment-del ca segment_name\n" +msgstr "" +"\n" +" Вилучити сегмент топології у суфіксі «ca»:\n" +" ipa topologysegment-del ca segment_name\n" + +msgid "" +"\n" +" Verify topology of 'domain' suffix:\n" +" ipa topologysuffix-verify domain\n" +msgstr "" +"\n" +" Перевірити топологію суфікса «domain»:\n" +" ipa topologysuffix-verify domain\n" + +msgid "" +"\n" +" Verify topology of 'ca' suffix:\n" +" ipa topologysuffix-verify ca\n" +msgstr "" "\n" -"Потребує мінімального рівня домену 1.\n" +" Перевірити топологію суфікса «ca»:\n" +" ipa topologysuffix-verify ca\n" #, python-brace-format msgid "Topology management requires minimum domain level {0} " @@ -13302,10 +15014,10 @@ msgstr "Показати сегмент." msgid "suffix" msgstr "суфікс" -msgid "suffices" +msgid "suffixes" msgstr "суфікси" -msgid "Topology suffices" +msgid "Topology suffixes" msgstr "Суфікси топології" msgid "Topology suffix" @@ -13314,15 +15026,15 @@ msgstr "Суфікс топології" msgid "Suffix name" msgstr "Назва суфікса" -msgid "LDAP suffix to be managed" -msgstr "Суфікс LDAP, яким слід керувати" +msgid "Managed LDAP suffix DN" +msgstr "DN керованого суфікса LDAP" -msgid "Search for topology suffices." +msgid "Search for topology suffixes." msgstr "Шукати суфікси топології." #, python-format msgid "%(count)d topology suffix matched" -msgid_plural "%(count)d topology suffices matched" +msgid_plural "%(count)d topology suffixes matched" msgstr[0] "встановлено відповідність %(count)d суфікса топології" msgstr[1] "встановлено відповідність %(count)d суфіксів топології" msgstr[2] "встановлено відповідність %(count)d суфіксів топології" @@ -13353,6 +15065,25 @@ msgstr "Показати керований суфікс." msgid "" "\n" +"Verify replication topology for suffix.\n" +"\n" +"Checks done:\n" +" 1. check if a topology is not disconnected. In other words if there are\n" +" replication paths between all servers.\n" +" 2. check if servers don't have more than the recommended number of\n" +" replication agreements\n" +msgstr "" +"\n" +"Перевірити топологію реплікації для вказаного суфікса.\n" +"\n" +"Перевірки, які виконуються:\n" +" 1. перевірка того, чи не є топологія від’єднаною. Іншими словами, чи є\n" +" шляхи реплікації між усіма серверами.\n" +" 2. перевірка того, чи немає у сервера перевищення рекомендованої\n" +" кількості узгоджень реплікації.\n" + +msgid "" +"\n" "Cross-realm trusts\n" "\n" "Manage trust relationship between IPA and Active Directory domains.\n" @@ -13553,12 +15284,19 @@ msgstr "" " ipa trustconfig-mod --type ad --fallback-primary-group \"Default SMB Group" "\"\n" +msgid "UPN suffixes" +msgstr "Суфікси UPN" + msgid "Non-Active Directory domain" msgstr "Домен не-Active Directory" msgid "RFC4120-compliant Kerberos realm" msgstr "Область Kerberos, сумісна з RFC4120" +msgid "" +"Non-transitive external trust to a domain in another Active Directory forest" +msgstr "Неперехідна зовнішня довіра до домену у іншому лісі Active Directory" + msgid "Trusting forest" msgstr "«Ліс» довіри" @@ -13580,6 +15318,36 @@ msgstr "Невідомо" msgid "Trust type (ad for Active Directory, default)" msgstr "Тип довіри (типовим для Active Directory є ad)" +#, python-format +msgid "" +" Alternatively, following servers are capable of running this command: " +"%(masters)s" +msgstr " Крім того, цю команду можуть виконати такі сервери: %(masters)s" + +msgid "AD Trust setup" +msgstr "Налаштування довіри AD" + +msgid "" +"Cannot perform the selected command without Samba 4 support installed. Make " +"sure you have installed server-trust-ad sub-package of IPA." +msgstr "" +"Виконати вибрану команду без встановленої підтримки Samba 4 неможливо. " +"Переконайтеся, що вами встановлено підпакунок IPA server-trust-ad." + +msgid "" +"Cannot perform the selected command without Samba 4 instance configured on " +"this machine. Make sure you have run ipa-adtrust-install on this server." +msgstr "" +"Вибрану команду не можна виконати без екземпляра Samba 4, встановленого у " +"цій системі. Переконайтеся, що на цьому сервері було виконано ipa-adtrust-" +"install." + +msgid "" +"Fetching domains from trusted forest failed. See details in the error_log" +msgstr "" +"Спроба отримати список доменів із довіреного лісу зазнала невдачі. Подробиці " +"можна знайти у error_log" + msgid "trust" msgstr "довіра" @@ -13658,6 +15426,20 @@ msgid "Type of trusted domain ID range, one of {vals}" msgstr "" "Тип діапазону ідентифікаторів довіреного домену, одне з таких значень: {vals}" +msgid "" +"Establish bi-directional trust. By default trust is inbound one-way only." +msgstr "Встановлено двобічну довіру. Типово, довіра є лише однобічною вхідною." + +msgid "External trust" +msgstr "Зовнішня довіра" + +msgid "" +"Establish external trust to a domain in another forest. The trust is not " +"transitive beyond the domain." +msgstr "" +"Встановити зовнішню довіру до домену у іншому лісі. Довіра не переходить за " +"межі домену." + #, python-format msgid "Added Active Directory trust for realm \"%(value)s\"" msgstr "Додано запис довіри Active Directory для області «%(value)s»" @@ -13666,16 +15448,6 @@ msgstr "Додано запис довіри Active Directory для облас� msgid "Re-established trust to domain \"%(value)s\"" msgstr "Відновлено довіру до домену «%(value)s»" -msgid "AD Trust setup" -msgstr "Налаштування довіри AD" - -msgid "" -"Cannot perform join operation without Samba 4 support installed. Make sure " -"you have installed server-trust-ad sub-package of IPA" -msgstr "" -"Виконати дію з приєднання без встановленої підтримки Samba 4 неможливо. " -"Переконайтеся, що вами встановлено підпакунок IPA server-trust-ad." - msgid "missing base_id" msgstr "не вистачає base_id" @@ -13688,6 +15460,16 @@ msgstr "тип довіри" msgid "only \"ad\" is supported" msgstr "передбачено підтримку лише «ad»" +msgid "domain" +msgstr "домен" + +msgid "" +"Cannot establish a trust to AD deployed in the same domain as IPA. Such " +"setup is not supported." +msgstr "" +"Не можна встановлювати довіру до AD, розгорнутою у тому самому домені, що і " +"IPA. Підтримки такої можливості не передбачено." + msgid "Realm-domain mismatch" msgstr "Невідповідність між областю і доменом" @@ -13698,6 +15480,16 @@ msgstr "" "Для встановлення довіри з Active Directory назва домену і назва області " "сервера IPA мають збігатися" +#, python-format +msgid "" +"Trusted domain %(domain)s is included among IPA realm domains. It needs to " +"be removed prior to establishing the trust. See the \"ipa realmdomains-mod --" +"del-domain\" command." +msgstr "" +"До доменів області IPA включено домен %(domain)s. Перш ніж встановлювати " +"довіру, це включення слід усунути. Див. команду «ipa realmdomains-mod --del-" +"domain»." + msgid "Trusted domain and administrator account use different realms" msgstr "" "Довіреним доменом і обліковим записом адміністратора використовуються різні " @@ -13844,6 +15636,18 @@ msgstr "GUID домену" msgid "Fallback primary group" msgstr "Резервна основна група" +msgid "IPA AD trust agents" +msgstr "Агенти довіри AD IPA" + +msgid "IPA servers configured as AD trust agents" +msgstr "Сервери IPA, які налаштовано як агенти довіри AD" + +msgid "IPA AD trust controllers" +msgstr "Контролери довіри AD IPA" + +msgid "IPA servers configured as AD trust controllers" +msgstr "Сервери IPA, які налаштовано як контролери довіри AD" + msgid "unsupported trust type" msgstr "непідтримуваний тип довіри" @@ -13864,9 +15668,6 @@ msgstr "" msgid "Security Identifiers (SIDs)" msgstr "Ідентифікатори безпеки (SID)" -msgid "Name" -msgstr "Назва" - msgid "SID" msgstr "SID" @@ -13908,9 +15709,6 @@ msgstr "Довірений домен" msgid "Domain name" msgstr "Назва домену" -msgid "Trusted domain partner" -msgstr "Партнер довіреного домену" - msgid "Search domains of the trust" msgstr "Шукати довірені домени" @@ -13940,6 +15738,13 @@ msgstr "" msgid "Refresh list of the domains associated with the trust" msgstr "Освіжити список доменів, пов’язаних з правилом довіри" +msgid "" +"List of trust domains successfully refreshed. Use trustdomain-find command " +"to list them." +msgstr "" +"Список довірених доменів успішно оновлено. Для отримання поточного списку " +"цих доменів скористайтеся командою trustdomain-find." + msgid "List of trust domains successfully refreshed" msgstr "Список довірених доменів успішно оновлено" @@ -14085,16 +15890,9 @@ msgstr "Вилучити користувача." msgid "Deleted user \"%(value)s\"" msgstr "Вилучено користувача «%(value)s»" -msgid "Delete a user, keeping the entry available for future use" -msgstr "Вилучити користувача, зберігаючи запис для наступного використання" - -msgid "Delete a user" -msgstr "Вилучити користувача" - -msgid "preserve and no-preserve cannot be both set" -msgstr "" -"не можна одночасно встановлювати ознаку зарезервованості та " -"незарезервованості" +#, python-format +msgid "%s: user is already preserved" +msgstr "%s: запис користувача вже захищено" msgid "Modify a user." msgstr "Змінити параметри користувача." @@ -14124,12 +15922,15 @@ msgid "Undeleted user account \"%(value)s\"" msgstr "Відновлено обліковий запис користувача «%(value)s»" #, python-format -msgid "User %r is already active" -msgstr "Користувач %r вже є активним" +msgid "user \"%s\" is already active" +msgstr "користувач «%s» вже є активним" + +msgid "Move deleted user into staged area" +msgstr "Пересунути вилучений запис користувача до області етапу" #, python-format -msgid "User %r not found" -msgstr "Не знайдено користувача %r" +msgid "Staged user account \"%(value)s\"" +msgstr "Обліковий запис користувача етапу «%(value)s»" msgid "Disable a user account." msgstr "Вимкнути обліковий запис користувача." @@ -14242,714 +16043,648 @@ msgstr "Помилка %(host)s" msgid "Account disabled: %(disabled)s" msgstr "Обліковий запис вимкнено: %(disabled)s" -msgid "" -"\n" -"Vaults\n" -msgstr "" -"\n" -"Сховища\n" - -msgid "" -"\n" -"Manage vaults.\n" -msgstr "" -"\n" -"Керування сховищами.\n" +msgid "Add one or more certificates to the user entry" +msgstr "Додати один або декілька сертифікатів до запису користувача" -msgid "" -"\n" -" List private vaults:\n" -" ipa vault-find\n" -msgstr "" -"\n" -" Показати список приватних сховищ:\n" -" ipa vault-find\n" +#, python-format +msgid "Added certificates to user \"%(value)s\"" +msgstr "Додано сертифікати до запису користувача «%(value)s»" -msgid "" -"\n" -" List service vaults:\n" -" ipa vault-find --service \n" -msgstr "" -"\n" -" Показати список сховищ служб:\n" -" ipa vault-find --service <назва служби>\n" +msgid "Remove one or more certificates to the user entry" +msgstr "Вилучити один або декілька сертифікатів запису користувача" -msgid "" -"\n" -" List shared vaults:\n" -" ipa vault-find --shared\n" -msgstr "" -"\n" -" Показати список сховищ спільного використання:\n" -" ipa vault-find --shared\n" +#, python-format +msgid "Removed certificates from user \"%(value)s\"" +msgstr "Вилучено сертифікати із запису користувача «%(value)s»" -msgid "" -"\n" -" List user vaults:\n" -" ipa vault-find --user \n" -msgstr "" -"\n" -" Показати список сховищ користувачів:\n" -" ipa vault-find --user <користувач>\n" +msgid "Add a manager to the user entry" +msgstr "Додати керування до запису користувача" -msgid "" -"\n" -" Add a private vault:\n" -" ipa vault-add \n" -msgstr "" -"\n" -" Додати приватне сховище:\n" -" ipa vault-add <назва>\n" +msgid "Remove a manager to the user entry" +msgstr "Вилучити керування із запису користувача" msgid "" "\n" -" Add a service vault:\n" -" ipa vault-add --service \n" +"Vaults\n" msgstr "" "\n" -" Додати сховище служби:\n" -" ipa vault-add <назва> --service <назва служби>\n" +"Сховища\n" msgid "" "\n" -" Add a shared vault:\n" -" ipa vault-add --shared\n" +"Manage vaults.\n" msgstr "" "\n" -" Додати сховище спільного використання:\n" -" ipa vault-add <назва> --shared\n" +"Керування сховищами.\n" msgid "" "\n" -" Add a user vault:\n" -" ipa vault-add --user \n" +"Vault is a secure place to store a secret.\n" msgstr "" "\n" -" Додати сховище користувача:\n" -" ipa vault-add <назва> --user <користувач>\n" +"Сховище — безпечне місце для зберігання ключів і паролів.\n" msgid "" "\n" -" Show a private vault:\n" -" ipa vault-show \n" +"Based on the ownership there are three vault categories:\n" +"* user/private vault\n" +"* service vault\n" +"* shared vault\n" msgstr "" "\n" -" Показати приватне сховище:\n" -" ipa vault-show <назва>\n" +"За правами власності сховища поділяються на три категорії:\n" +"* приватні сховища користувачів\n" +"* сховища служб\n" +"* сховища спільного використання\n" msgid "" "\n" -" Show a service vault:\n" -" ipa vault-show --service \n" +"User vaults are vaults owned used by a particular user. Private\n" +"vaults are vaults owned the current user. Service vaults are\n" +"vaults owned by a service. Shared vaults are owned by the admin\n" +"but they can be used by other users or services.\n" msgstr "" "\n" -" Показати сховище служби:\n" -" ipa vault-show <назва> --service <назва служби>\n" +"Сховища користувачів — це сховища, власником яких є конкретний\n" +"користувач. Приватними є сховища, власником яких є поточний\n" +"користувач. Власником сховища служби є певна служба. Сховища\n" +"спільного використання належать адміністратору, але можуть\n" +"використовуватися іншими користувачами або службами.\n" msgid "" "\n" -" Show a shared vault:\n" -" ipa vault-show --shared\n" +"Based on the security mechanism there are three types of\n" +"vaults:\n" +"* standard vault\n" +"* symmetric vault\n" +"* asymmetric vault\n" msgstr "" "\n" -" Показати сховище спільного використання:\n" -" ipa vault-show <назва> --shared\n" +"За механізмами захисту сховища поділяються на три\n" +"типи:\n" +"* стандартні сховища\n" +"* симетричні сховища\n" +"* асиметричні сховища\n" msgid "" "\n" -" Show a user vault:\n" -" ipa vault-show --user \n" +"Standard vault uses a secure mechanism to transport and\n" +"store the secret. The secret can only be retrieved by users\n" +"that have access to the vault.\n" msgstr "" "\n" -" Показати сховище користувача:\n" -" ipa vault-show <назва> --user <користувач>\n" +"У стандартному сховищі для передавання і зберігання реєстраційних\n" +"даних використовуються безпечні механізми. Реєстраційні дані\n" +"може бути отримано лише користувачами, які мають доступ\n" +"до сховища.\n" msgid "" "\n" -" Modify a private vault:\n" -" ipa vault-mod --desc \n" +"Symmetric vault is similar to the standard vault, but it\n" +"pre-encrypts the secret using a password before transport.\n" +"The secret can only be retrieved using the same password.\n" msgstr "" "\n" -" Змінити приватне сховище:\n" -" ipa vault-mod <назва> --desc <опис>\n" +"Симетричне сховище є подібним до стандартного сховища, але\n" +"у ньому реєстраційні дані попередньо шифруються до\n" +"передавання за допомогою пароля.\n" +"Реєстраційні дані можна отримати лише за допомогою цього пароля.\n" msgid "" "\n" -" Modify a service vault:\n" -" ipa vault-mod --service --desc \n" +"Asymmetric vault is similar to the standard vault, but it\n" +"pre-encrypts the secret using a public key before transport.\n" +"The secret can only be retrieved using the private key.\n" msgstr "" "\n" -" Змінити сховище служби:\n" -" ipa vault-mod <назва> --service <назва служби> --desc <опис>\n" +"Асиметричне сховище є подібним до стандартного сховища, але\n" +"у ньому реєстраційні дані попередньо шифруються до\n" +"передавання за допомогою відкритого ключа.\n" +"Реєстраційні дані можна отримати лише за допомогою закритого ключа.\n" msgid "" "\n" -" Modify a shared vault:\n" -" ipa vault-mod --shared --desc \n" +" List vaults:\n" +" ipa vault-find\n" +" [--user |--service |--shared]\n" msgstr "" "\n" -" Змінити сховище спільного використання:\n" -" ipa vault-mod <назва> --shared --desc <опис>\n" +" Вивести список сховищ:\n" +" ipa vault-find\n" +" [--user <користувач>|--service <служба>|--shared]\n" msgid "" "\n" -" Modify a user vault:\n" -" ipa vault-mod --user --desc \n" +" Add a standard vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type standard\n" msgstr "" "\n" -" Змінити сховище користувача:\n" -" ipa vault-mod <назва> --user <користувач> --desc <опис>\n" +" Додати стандартне сховище:\n" +" ipa vault-add <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --type standard\n" msgid "" "\n" -" Delete a private vault:\n" -" ipa vault-del \n" +" Add a symmetric vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type symmetric --password-file password.txt\n" msgstr "" "\n" -" Вилучити приватне сховище:\n" -" ipa vault-del <назва>\n" +" Додати симетричне сховище:\n" +" ipa vault-add <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --type symmetric --password-file пароль.txt\n" msgid "" "\n" -" Delete a service vault:\n" -" ipa vault-del --service \n" +" Add an asymmetric vault:\n" +" ipa vault-add \n" +" [--user |--service |--shared]\n" +" --type asymmetric --public-key-file public.pem\n" msgstr "" "\n" -" Вилучити сховище служби:\n" -" ipa vault-del <назва> --service <назва служба>\n" +" Додати асиметричне сховище:\n" +" ipa vault-add <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --type asymmetric --public-key-file відкритий_ключ.pem\n" msgid "" "\n" -" Delete a shared vault:\n" -" ipa vault-del --shared\n" +" Show a vault:\n" +" ipa vault-show \n" +" [--user |--service |--shared]\n" msgstr "" "\n" -" Вилучити сховище спільного використання:\n" -" ipa vault-del <назва> --shared\n" +" Показати сховище:\n" +" ipa vault-show <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" msgid "" "\n" -" Delete a user vault:\n" -" ipa vault-del --user \n" +" Modify vault description:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --desc \n" msgstr "" "\n" -" Вилучити сховище користувача:\n" -" ipa vault-del <назва> --user <користувач>\n" +" Змірити опис сховища:\n" +" ipa vault-mod <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --desc <опис>\n" msgid "" "\n" -" Display vault configuration:\n" -" ipa vault-config\n" +" Modify vault type:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --type \n" +" [old password/private key]\n" +" [new password/public key]\n" msgstr "" "\n" -" Показати налаштування сховищ:\n" -" ipa vault-config\n" +" Змінити тип сховища:\n" +" ipa vault-mod <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --type <тип>\n" +" [старий пароль/закритий ключ]\n" +" [новий пароль/відкритий ключ]\n" msgid "" "\n" -" Archive data into private vault:\n" -" ipa vault-archive --in \n" +" Modify symmetric vault password:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --change-password\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --old-password \n" +" --new-password \n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --old-password-file \n" +" --new-password-file \n" msgstr "" "\n" -" Архівувати дані до приватного сховища:\n" -" ipa vault-archive <назва> --in <файл вхідних даних>\n" +" Змірити пароль до симетричного сховища:\n" +" ipa vault-mod <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --change-password\n" +" ipa vault-mod <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --old-password <старий пароль>\n" +" --new-password <новий пароль>\n" +" ipa vault-mod <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --old-password-file <файл старого пароля>\n" +" --new-password-file <файл нового пароля>\n" msgid "" "\n" -" Archive data into service vault:\n" -" ipa vault-archive --service --in \n" +" Modify asymmetric vault keys:\n" +" ipa vault-mod \n" +" [--user |--service |--shared]\n" +" --private-key-file \n" +" --public-key-file \n" msgstr "" "\n" -" Архівувати дані до сховища служби:\n" -" ipa vault-archive <назва> --service <назва служби> --in <файл вхідних " -"даних>\n" +" Змірити ключ асиметричного сховища:\n" +" ipa vault-mod <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --private-key-file <файл старого закритого ключа>\n" +" --public-key-file <файл нового відкритого ключа>\n" msgid "" "\n" -" Archive data into shared vault:\n" -" ipa vault-archive --shared --in \n" +" Delete a vault:\n" +" ipa vault-del \n" +" [--user |--service |--shared]\n" msgstr "" "\n" -" Архівувати дані до сховища спільного використання:\n" -" ipa vault-archive <назва> --shared --in <файл вхідних даних>\n" +" Вилучити сховище:\n" +" ipa vault-del <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" msgid "" "\n" -" Archive data into user vault:\n" -" ipa vault-archive --user --in \n" +" Display vault configuration:\n" +" ipa vaultconfig-show\n" msgstr "" "\n" -" Архівувати дані до сховища користувача:\n" -" ipa vault-archive <назва> --user <користувач> --in <файл вхідних даних>\n" +" Вивести налаштування сховищ:\n" +" ipa vaultconfig-show\n" msgid "" "\n" -" Retrieve data from private vault:\n" -" ipa vault-retrieve --out \n" +" Archive data into standard vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" msgstr "" "\n" -" Отримати дані з приватного сховища:\n" -" ipa vault-retrieve <назва> --out <файл виведених даних>\n" +" Архівувати дані до стандартного сховища:\n" +" ipa vault-archive \n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --in <файл вхідних даних>\n" msgid "" "\n" -" Retrieve data from service vault:\n" -" ipa vault-retrieve --service --out \n" +" Archive data into symmetric vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" +" --password-file password.txt\n" msgstr "" "\n" -" Отримати дані зі сховища служби:\n" -" ipa vault-retrieve <назва> --service <назва служби> --out <файл виведених " -"даних>\n" +" Архівувати дані до симетричного сховища:\n" +" ipa vault-archive \n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --in <файл вхідних даних>\n" +" --password-file пароль.txt\n" msgid "" "\n" -" Retrieve data from shared vault:\n" -" ipa vault-retrieve --shared --out \n" +" Archive data into asymmetric vault:\n" +" ipa vault-archive \n" +" [--user |--service |--shared]\n" +" --in \n" msgstr "" "\n" -" Отримати дані зі сховища спільного використання:\n" -" ipa vault-retrieve <назва> --shared --out <файл виведених даних>\n" +" Архівувати дані до асиметричного сховища:\n" +" ipa vault-archive \n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --in <файл вхідних даних>\n" msgid "" "\n" -" Retrieve data from user vault:\n" -" ipa vault-retrieve --user --out \n" +" Retrieve data from standard vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out \n" msgstr "" "\n" -" Отримати дані зі сховища користувача:\n" -" ipa vault-retrieve <назва> --user <користувач> --out <файл виведених " -"даних>\n" - -msgid "Shared vault" -msgstr "Сховище спільного використання" +" Отримати дані зі стандартного сховища:\n" +" ipa vault-retrieve <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --out <файл результатів>\n" msgid "" "\n" -" Vault object.\n" -" " +" Retrieve data from symmetric vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out \n" +" --password-file password.txt\n" msgstr "" "\n" -" Об’єкт сховища.\n" -" " - -msgid "vault" -msgstr "сховище" - -msgid "vaults" -msgstr "сховища" - -msgid "Vaults" -msgstr "Сховища" - -msgid "Vault" -msgstr "Сховище" - -msgid "Vault name" -msgstr "Назва сховища" - -msgid "Vault description" -msgstr "Опис сховища" - -msgid "Service, shared, and user options cannot be specified simultaneously" -msgstr "" -"Параметри служби, спільного використання та користувача не можна вказувати " -"одночасно" - -msgid "Host is not supported" -msgstr "Підтримки вузла не передбачено" - -msgid "Create a new vault." -msgstr "Створити сховище." - -#, python-format -msgid "Added vault \"%(value)s\"" -msgstr "Додано сховище «%(value)s»" - -msgid "KRA service is not enabled" -msgstr "Службу KRA не увімкнено" - -msgid "Delete a vault." -msgstr "Вилучити сховище." - -#, python-format -msgid "Deleted vault \"%(value)s\"" -msgstr "Вилучено сховище «%(value)s»" - -msgid "Search for vaults." -msgstr "Шукати сховища." - -#, python-format -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 vault." -msgstr "Змінити сховище." - -#, python-format -msgid "Modified vault \"%(value)s\"" -msgstr "Змінено сховище «%(value)s»" - -msgid "Display information about a vault." -msgstr "Показати дані щодо сховища." - -msgid "Vault configuration" -msgstr "Налаштування сховища" - -msgid "Transport Certificate" -msgstr "Сертифікат передавання" - -msgid "Show vault configuration." -msgstr "Показати налаштування сховища." - -msgid "Output file to store the transport certificate" -msgstr "Файл для зберігання сертифіката передавання даних" - -msgid "Archive data into a vault." -msgstr "Архівувати дані до сховища." - -msgid "Binary data to archive" -msgstr "Двійкові дані для архівування" - -msgid "File containing data to archive" -msgstr "Файл, що містить дані для архівування" - -#, python-format -msgid "Archived data into vault \"%(value)s\"" -msgstr "Дані архівовано до сховища «%(value)s»" - -msgid "Input data specified multiple times" -msgstr "Вхідні дані вказано декілька разів" - -msgid "Session key wrapped with transport certificate" -msgstr "Ключ сеансу, пов’язаний із сертифікатом передавання" - -msgid "Vault data encrypted with session key" -msgstr "Дані сховища зашифровано за допомогою ключа сеансу" - -msgid "Nonce" -msgstr "Цей випадок" - -msgid "Retrieve a data from a vault." -msgstr "Отримати дані зі сховища." - -msgid "File to store retrieved data" -msgstr "Файл для зберігання отриманих даних" - -#, python-format -msgid "Retrieved data from vault \"%(value)s\"" -msgstr "Отримано дані зі сховища «%(value)s»" - -msgid "No archived data." -msgstr "Немає архівованих даних." - -msgid "operation not defined" -msgstr "дію не визначено" - -msgid "not allowed to perform this command" -msgstr "виконувати цю команду заборонено" - -msgid "No such virtual command" -msgstr "Такої віртуальної команди не передбачено" - -msgid "any of the configured servers" -msgstr "будь-який з налаштованих серверів" - -msgid "could not allocate unique new session_id" -msgstr "" -"не вдалося встановити унікальне нове значення ідентифікатора сеансу " -"(session_id)" - -msgid "Filename is empty" -msgstr "Порожня назва файла" +" Отримати дані з симетричного сховища:\n" +" ipa vault-retrieve <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --out <файл результатів>\n" +" --password-file password.txt\n" -#, python-format -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 символи" - -#, python-format msgid "" -"only letters, numbers, %(chars)s are allowed. DNS label may not start or end " -"with %(chars2)s" +"\n" +" Retrieve data from asymmetric vault:\n" +" ipa vault-retrieve \n" +" [--user |--service |--shared]\n" +" --out --private-key-file private.pem\n" msgstr "" -"можна використовувати лише літери, цифри, %(chars)s. Символ %(chars2)s не " -"повинен бути першим або останнім символом мітки DNS." - -msgid "too many '@' characters" -msgstr "занадто багато символів «@»" - -msgid "cannot be longer that 255 characters" -msgstr "не може бути довшим за 255 символів" - -msgid "hostname contains empty label (consecutive dots)" -msgstr "назва вузла містить лише порожню мітку (послідовні крапки)" - -msgid "not fully qualified" -msgstr "вказано не повністю" - -msgid "invalid SSH public key" -msgstr "некоректний відкритий ключ SSH" - -msgid "options are not allowed" -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" +"\n" +" Отримати дані з асиметричного сховища:\n" +" ipa vault-retrieve <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" --out <файл результатів> --private-key-file private.pem\n" -#, 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" - -#, python-format -msgid "Issuer \"%(issuer)s\" does not match the expected issuer" -msgstr "Запис видавця «%(issuer)s» не відповідає очікуваному значенню видавця" - -#, python-format -msgid "Retrieving CA cert chain failed: %s" -msgstr "Спроба отримання ланцюжка сертифікації CA зазнала невдачі: %s" - -#, python-format -msgid "request failed with HTTP status %d" -msgstr "помилка запиту зі станом HTTP %d" - -#, python-format -msgid "Retrieving CA status failed: %s" +"\n" +" Add vault owners:\n" +" ipa vault-add-owner \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" msgstr "" -"Спроба отримання даних щодо стану служби сертифікації зазнала невдачі: %s" - -#, python-format -msgid "objectclass %s not found" -msgstr "клас об’єктів %s не знайдено" +"\n" +" Додати записи власників сховища:\n" +" ipa vault-add-owner <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" [--users <користувачі>] [--groups <групи>] [--services <служби>]\n" msgid "" "\n" -"Classes to manage trust joins using DCE-RPC calls\n" -"\n" -"The code in this module relies heavily on samba4-python package\n" -"and Samba4 python bindings.\n" +" Delete vault owners:\n" +" ipa vault-remove-owner \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" msgstr "" "\n" -"Класи для керування довіреними приєднаннями за допомогою викликів DCE-RPC\n" +" Вилучити записи учасників сховища:\n" +" ipa vault-remove-owner <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" [--users <користувачі>] [--groups <групи>] [--services <служби>]\n" + +msgid "" "\n" -"Код цього модуля жорстко залежить від вмісту пакунка samba4-python\n" -"та обгорток для мови Python у Samba4.\n" +" Add vault members:\n" +" ipa vault-add-member \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" +msgstr "" +"\n" +" Додати записи учасників сховища:\n" +" ipa vault-add-member <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" [--users <користувачі>] [--groups <групи>] [--services <служби>]\n" -msgid "CIFS server denied your credentials" -msgstr "Ваші реєстраційні дані відхилено сервером CIFS" +msgid "" +"\n" +" Delete vault members:\n" +" ipa vault-remove-member \n" +" [--user |--service |--shared]\n" +" [--users ] [--groups ] [--services ]\n" +msgstr "" +"\n" +" Вилучити записи учасників сховища:\n" +" ipa vault-remove-member <назва>\n" +" [--user <користувач>|--service <служба>|--shared]\n" +" [--users <користувачі>] [--groups <групи>] [--services <служби>]\n" -msgid "communication with CIFS server was unsuccessful" -msgstr "спроба обмінятися даними з сервером CIFS зазнала невдачі" +msgid "Service name of the service vault" +msgstr "Назва служби сховища служби" -msgid "AD domain controller" -msgstr "Контролер домену AD" +msgid "Shared vault" +msgstr "Сховище спільного використання" -msgid "unsupported functional level" -msgstr "непідтримуваний функціональний рівень" +msgid "Username of the user vault" +msgstr "Ім’я користувача сховища користувача" msgid "" -"AD domain controller complains about communication sequence. It may mean " -"unsynchronized time on both sides, for example" +"\n" +" Vault Container object.\n" +" " msgstr "" -"Домен AD скаржиться на послідовність команд встановлення зв’язку. Це, " -"наприклад, може означати розсинхронізацію часу між комп’ютерами, які " -"обмінюються даними." +"\n" +" Об’єкт контейнера сховищ.\n" +" " -msgid "CIFS server configuration does not allow access to \\\\pipe\\lsarpc" -msgstr "Налаштування сервера CIFS забороняє доступ до \\\\pipe\\lsarpc" +msgid "vaultcontainer" +msgstr "контейнер сховищ" -msgid "Cannot find specified domain or server name" -msgstr "Не вдалося знайти домену або сервера з вказаною назвою" +msgid "vaultcontainers" +msgstr "контейнери сховищ" -msgid "" -"AD DC was unable to reach any IPA domain controller. Most likely it is a DNS " -"or firewall issue" +msgid "Vault Containers" +msgstr "Контейнери сховищ" + +msgid "Vault Container" +msgstr "Контейнер сховищ" + +msgid "Owner users" +msgstr "Користувачі власника" + +msgid "Owner groups" +msgstr "Групи власника" + +msgid "Owner services" +msgstr "Служби власника" + +msgid "Vault service" +msgstr "Служба сховища" + +msgid "Vault user" +msgstr "Користувач сховища" + +msgid "Service, shared and user options cannot be specified simultaneously" msgstr "" -"AD DC не вдалося отримати доступ до жодного з контролерів домену IPA. " -"Найімовірніше, цю помилку пов’язано із проблемами з DNS або брандмауером" +"Параметри служби, спільного використання та користувача не можна вказувати " +"одночасно" -msgid "At least the domain or IP address should be specified" -msgstr "Слід вказати принаймні домен або IP-адресу" +msgid "Host is not supported" +msgstr "Підтримки вузла не передбачено" + +msgid "Display information about a vault container." +msgstr "Показати дані щодо контейнера сховищ." + +msgid "KRA service is not enabled" +msgstr "Службу KRA не увімкнено" + +msgid "Delete a vault container." +msgstr "Вилучити контейнер сховищ." + +msgid "Deleted vault container" +msgstr "Вилучено контейнер сховищ" + +msgid "Add owners to a vault container." +msgstr "Додати записи власників до контейнера сховища." #, python-format -msgid "" -"CIFS server communication error: code \"%(num)s\",\n" -" message \"%(message)s\" (both may be \"None\")" -msgstr "" -"Помилка обміну даними з сервером CIFS: код «%(num)s»,\n" -"повідомлення «%(message)s» (обидва значення можуть бути «None»)" +msgid "owner %s" +msgstr "власник %s" -msgid "no trusted domain is configured" -msgstr "Не налаштовано жодного довіреного домену" +msgid "Owners that could not be added" +msgstr "Власники, записи яких не вдалося додати" -msgid "domain is not configured" -msgstr "домен не налаштовано" +msgid "Number of owners added" +msgstr "Кількість доданих записів власників" -msgid "SID is not valid" -msgstr "SID не є чинним" +msgid "Remove owners from a vault container." +msgstr "Вилучити записи власників із контейнера сховища." -msgid "SID does not match exactlywith any trusted domain's SID" -msgstr "SID не збігається точно з будь-яким з SID довірених доменів" +msgid "Owners that could not be removed" +msgstr "Власники, записи яких не вдалося вилучити" -msgid "SID does not match any trusted domain" -msgstr "SID не відповідає жодному з довірених доменів" +msgid "Number of owners removed" +msgstr "Кількість вилучених записів власників" -msgid "Trust setup" -msgstr "Налаштування довіри" +msgid "" +"\n" +" Vault object.\n" +" " +msgstr "" +"\n" +" Об’єкт сховища.\n" +" " -msgid "Our domain is not configured" -msgstr "Наш домен не налаштовано" +msgid "vault" +msgstr "сховище" -msgid "No trusted domain is not configured" -msgstr "Не налаштовано жодного довіреного домену" +msgid "vaults" +msgstr "сховища" -msgid "trusted domain object" -msgstr "об’єкт довіреного домену" +msgid "Vaults" +msgstr "Сховища" -msgid "domain is not trusted" -msgstr "домен не є довіреним" +msgid "Vault" +msgstr "Сховище" -msgid "no trusted domain matched the specified flat name" -msgstr "вказаній простій назві не відповідає жоден довірений домен" +msgid "Vault name" +msgstr "Назва сховища" -msgid "trusted domain object not found" -msgstr "об’єкт довіреного домену не знайдено" +msgid "Vault description" +msgstr "Опис сховища" -msgid "Ambiguous search, user domain was not specified" -msgstr "Неоднозначні параметри пошуку: не вказано домену користувача" +msgid "Vault type" +msgstr "Тип сховища" -msgid "Trusted domain did not return a unique object" -msgstr "Довіреним доменом не повернуто унікального об’єкта" +msgid "Salt" +msgstr "Сіль" -msgid "Trusted domain did not return a valid SID for the object" -msgstr "Довіреним доменом не повернуто коректного SID об’єкта" +msgid "Vault salt" +msgstr "«Сіль» сховища" -msgid "trusted domain user not found" -msgstr "не знайдено користувача довіреного домену" +msgid "Public key" +msgstr "Відкритий ключ" -msgid "Cannot retrieve trusted domain GC list" -msgstr "Не вдалося отримати список GC довіреного домену" +msgid "Vault public key" +msgstr "Відкритий ключ сховища" -msgid "CIFS credentials object" -msgstr "Об’єкт реєстраційних даних CIFS" +msgid "Service, shared, and user options cannot be specified simultaneously" +msgstr "" +"Параметри служби, спільного використання та користувача не можна вказувати " +"одночасно" #, python-format -msgid "CIFS server %(host)s denied your credentials" -msgstr "Ваші реєстраційні дані відхилено сервером CIFS %(host)s" +msgid "Added vault \"%(value)s\"" +msgstr "Додано сховище «%(value)s»" -#, python-format -msgid "Cannot establish LSA connection to %(host)s. Is CIFS server running?" -msgstr "" -"Не вдалося встановити LSA-з’єднання з %(host)s. Чи запущено сервер CIFS?" +msgid "Delete a vault." +msgstr "Вилучити сховище." #, python-format -msgid "" -"the IPA server and the remote domain cannot share the same NetBIOS name: %s" -msgstr "" -"сервер IPA і віддалений домен не можуть використовувати спільно ту саму " -"назву NetBIOS: %s" +msgid "Deleted vault \"%(value)s\"" +msgstr "Вилучено сховище «%(value)s»" + +msgid "Search for vaults." +msgstr "Шукати сховища." + +msgid "List all service vaults" +msgstr "Список усіх сховищ служб" + +msgid "List all user vaults" +msgstr "Список усіх сховищ користувачів" #, python-format +msgid "%(count)d vault matched" +msgid_plural "%(count)d vaults matched" +msgstr[0] "встановлено відповідність %(count)d сховища" +msgstr[1] "встановлено відповідність %(count)d сховищ" +msgstr[2] "встановлено відповідність %(count)d сховищ" + 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." +"Service(s), shared, and user(s) options cannot be specified simultaneously" msgstr "" -"Основний вузол IPA відмовив у запитах щодо затвердження довіри від AD DC " -"%(count)d разів. Найімовірніше, AD DC встановив зв’язок із реплікою, на якій " -"ще не виконано реплікацію даних щодо довіри." +"Параметри служби, спільного використання та користувача не можна вказувати " +"одночасно" #, python-format -msgid "Unable to communicate with CMS (%s)" -msgstr "Не вдалося обмінятися даними з CMS (%s)" +msgid "Modified vault \"%(value)s\"" +msgstr "Змінено сховище «%(value)s»" -msgid "Unable to communicate with CMS" -msgstr "Не вдалося обмінятися даними з CMS" +msgid "Display information about a vault." +msgstr "Показати дані щодо сховища." -msgid "find not supported on CAs upgraded from 9 to 10" -msgstr "знайти непідтримувані у CA після оновлення з 9 до 10" +msgid "Vault configuration" +msgstr "Налаштування сховища" -msgid "Failed to authenticate to CA REST API" +msgid "Transport Certificate" +msgstr "Сертифікат передавання" + +msgid "IPA KRA servers" +msgstr "Сервери KRA IPA" + +msgid "IPA servers configured as key recovery agents" msgstr "" -"Не вдалося пройти розпізнавання за допомогою програмного інтерфейсу CA REST" +"Сервери IPA, налаштовані як агенти відновлення ключів (key recovery agents)" -msgid "REST API is not logged in." -msgstr "Вхід до програмного інтерфейсу REST не виконано." +msgid "Show vault configuration." +msgstr "Показати налаштування сховища." + +msgid "Output file to store the transport certificate" +msgstr "Файл для зберігання сертифіката передавання даних" + +msgid "Session key wrapped with transport certificate" +msgstr "Ключ сеансу, пов’язаний із сертифікатом передавання" + +msgid "Vault data encrypted with session key" +msgstr "Дані сховища зашифровано за допомогою ключа сеансу" + +msgid "Nonce" +msgstr "Цей випадок" #, 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 "Archived data into vault \"%(value)s\"" +msgstr "Дані архівовано до сховища «%(value)s»" -msgid "The hostname to register as" -msgstr "Назва вузла для реєстрації" +#, python-format +msgid "Retrieved data from vault \"%(value)s\"" +msgstr "Отримано дані зі сховища «%(value)s»" -msgid "The IPA realm" -msgstr "Область IPA" +msgid "No archived data." +msgstr "Немає архівованих даних." -msgid "Hardware platform of the host (e.g. Lenovo T61)" -msgstr "Апаратна платформа вузла (наприклад, «Lenovo T61»)" +msgid "Add owners to a vault." +msgstr "Додати записи власників до сховища." -msgid "Operating System and version of the host (e.g. Fedora 9)" -msgstr "Операційна система вузла і її версія (наприклад, «Fedora 9»)" +msgid "Remove owners from a vault." +msgstr "Вилучити записи власників сховища." + +msgid "Add members to a vault." +msgstr "Додати записи учасників сховища." + +msgid "Remove members from a vault." +msgstr "Вилучити записи учасників сховища." + +msgid "operation not defined" +msgstr "дію не визначено" #, python-format -msgid "" -"Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry " -"'%s'." -msgstr "" -"Недостатні привілеї «write» до атрибута «krbLastPwdChange» запису «%s»." +msgid "not allowed to perform operation: %s" +msgstr "виконувати цю дію заборонено: %s" -msgid "Could not read UPG Definition originfilter. Check your permissions." -msgstr "" -"Не вдалося прочитати фільтр походження (originfilter) UPG Definition. " -"Переконайтеся, що у вас є відповідні права доступу." +msgid "No such virtual command" +msgstr "Такої віртуальної команди не передбачено" msgid "Request must be a dict" msgstr "Запит має належати до типу словника (dict)" @@ -14972,6 +16707,41 @@ msgstr "params[0] (або аргументи) має бути списком (li msgid "params[1] (aka options) must be a dict" msgstr "params[1] (або параметри) має належати до типу словника (dict)" +#, python-format +msgid "all masters must have %(role)s role enabled" +msgstr "для усіх основних серверів має бути увімкнено роль %(role)s" + +#, python-format +msgid "must have %(role)s role enabled" +msgstr "має бути увімкнено роль %(role)s" + +#, python-format +msgid "" +"\n" +"Replication topology in suffix '%(suffix)s' is disconnected:\n" +"%(errors)s" +msgstr "" +"\n" +"Топологія реплікації у суфіксі «%(suffix)s» є нез’єднаною:\n" +"%(errors)s" + +#, python-format +msgid "" +"\n" +"Removal of '%(hostname)s' leads to disconnected topology in suffix " +"'%(suffix)s':\n" +"%(errors)s" +msgstr "" +"\n" +"Вилучення запису «%(hostname)s» призведе до нез’єднаної топології у суфіксу " +"«%(suffix)s»:\n" +"%(errors)s" + +#, python-format +msgid "Topology does not allow server %(server)s to replicate with servers:" +msgstr "" +"Топологія не дозволяє серверу %(server)s виконувати реплікацію із серверами:" + #, c-format msgid "cannot open configuration file %s\n" msgstr "не вдалося відкрити файл налаштувань %s\n" @@ -15045,6 +16815,10 @@ msgid "Failed to get result: %s\n" msgstr "Не вдалося отримати результат: %s\n" #, c-format +msgid "Timeout exceeded." +msgstr "Перевищено обмеження за часом." + +#, c-format msgid "Failed to parse extended result: %s\n" msgstr "Не вдалося обробити розширений результат: %s\n" @@ -15105,6 +16879,14 @@ msgstr "Новий пароль реєстраційного запису" msgid "Verify Principal Password" msgstr "Перевірка пароля реєстраційного запису" +#, c-format +msgid "Failed to open config file %s\n" +msgstr "Не вдалося відкрити файл налаштувань %s\n" + +#, c-format +msgid "Failed to parse config file %s\n" +msgstr "Не вдалося обробити файл налаштувань %s\n" + msgid "Print as little as possible" msgstr "Виводити мінімум даних" @@ -15184,6 +16966,10 @@ msgid "Bind password required when using a bind DN.\n" msgstr "У разі використання прив’язки DN слід вказати пароль прив’язки.\n" #, c-format +msgid "Server name not provided and unavailable\n" +msgstr "Не надано назви сервера, сервер недоступний\n" + +#, c-format msgid "Incompatible options provided (-r and -P)\n" msgstr "Вказано несумісні параметри (-r і -P)\n" @@ -15556,3 +17342,199 @@ msgstr "Не вдалося створити ключ!\n" msgid "Bad or unsupported salt type.\n" msgstr "Помилковий або непідтримуваний тип солі (salt).\n" + +#~ 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" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "Дії з сертифікатами IPA\n" +#~ "\n" +#~ "Реалізує набір команд для керування сертифікатами серверів SSL.\n" +#~ "\n" +#~ "Запити щодо сертифікатів існують у формі Certificate Signing Request " +#~ "(CSR)\n" +#~ "і форматі PEM.\n" +#~ "\n" +#~ "Якщо використовується автопідписний модуль, призначення CSR має " +#~ "збігатися\n" +#~ "з призначенням на сервері. Служба сертифікації використовує лише CN\n" +#~ "CSR і примусово визначає призначення.\n" +#~ "\n" +#~ "Сертифікат зберігається з реєстраційним записом, а реєстраційний запис\n" +#~ "потребує вузла.\n" +#~ "\n" +#~ "Для того, щоб створити запит щодо сертифіката:\n" +#~ "\n" +#~ "* Вузол має існувати\n" +#~ "* Служба має існувати (або слід скористатися параметром --add для\n" +#~ "автоматичного додавання)\n" +#~ "\n" +#~ "ПОШУК:\n" +#~ "\n" +#~ "Шукати сертифікати можна за призначенням сертифіката, серійним номером,\n" +#~ "причиною відкликання, датами чинності та датою видання.\n" +#~ "\n" +#~ "Якщо пошук виконується за датою _від, використовується порівняння >=, а " +#~ "якщо\n" +#~ "виконується пошук _до дати — порівняння <=. Поєднання обох пошуків " +#~ "призводить\n" +#~ "до пошуку з логічним поєднанням ТА.\n" +#~ "\n" +#~ "Дати обробляються як дати за Гринвічем, відповідно до дат визначених у\n" +#~ "сертифікатах.\n" +#~ "\n" +#~ "Формат дати є таким: РРРР-мм-дд.\n" +#~ "\n" +#~ "ПРИКЛАДИ:\n" +#~ "\n" +#~ " Створити запит щодо нового сертифіката і додати реєстраційний запис:\n" +#~ " ipa cert-request --add --principal=HTTP/lion.example.com example.csr\n" +#~ "\n" +#~ " Отримати вже створений сертифікат:\n" +#~ " ipa cert-show 1032\n" +#~ "\n" +#~ " Відкликати сертифікат (причини визначено у RFC 5280):\n" +#~ " ipa cert-revoke --revocation-reason=6 1032\n" +#~ "\n" +#~ " Вилучити сертифікат зі списку відкликання:\n" +#~ " ipa cert-remove-hold 1032\n" +#~ "\n" +#~ " Перевірити стан запиту щодо підписування:\n" +#~ " ipa cert-status 10\n" +#~ "\n" +#~ " Пошук сертифікатів за назвою вузла:\n" +#~ " ipa cert-find --subject=ipaserver.example.com\n" +#~ "\n" +#~ " Пошук відкликаних сертифікатів за причиною:\n" +#~ " ipa cert-find --revocation-reason=5\n" +#~ "\n" +#~ " Пошук сертифікатів за датою видання\n" +#~ " ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07\n" +#~ "\n" +#~ "У поточній версії IPA негайно виконує (або відхиляє) всі запити щодо\n" +#~ "сертифікатів, отже дані щодо стану запиту не мають сенсу. Ці дані\n" +#~ "можуть знадобитися у наступних версіях або у разі, якщо CA видає\n" +#~ "сертифікат не одразу.\n" +#~ "\n" +#~ "Передбачено підтримку таких причин відкликання:\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" +#~ "Зауважте, що коди причини 7 не використовується. Докладніші дані у RFC " +#~ "5280:\n" +#~ "\n" +#~ "http://www.ietf.org/rfc/rfc5280.txt\n" +#~ "\n" + +#~ msgid "CA to use" +#~ msgstr "CA, яке слід використати" + +#~ msgid "Reason" +#~ msgstr "Підстава" + +#~ msgid "" +#~ "Reason for revoking the certificate (0-10). Type \"ipa help cert\" for " +#~ "revocation reason details. " +#~ msgstr "" +#~ "Причина відкликання сертифіката (0-10). Введіть «ipa help cert», щоб " +#~ "ознайомитися із подробицями причин відкликання. " + +#~ msgid "" +#~ "Reason for revoking the certificate (0-10). Type \"ipa help cert\" for " +#~ "revocation reason details." +#~ msgstr "" +#~ "Причина відкликання сертифіката (0-10). Введіть «ipa help cert», щоб " +#~ "ознайомитися із подробицями причин відкликання." + +#~ msgid "Maximum number of certs returned" +#~ msgstr "Максимальна кількість сертифікатів у повернутому списку" diff --git a/install/po/zh_CN.po b/install/po/zh_CN.po index 2a750f5..5fdd72e 100644 --- a/install/po/zh_CN.po +++ b/install/po/zh_CN.po @@ -9,19 +9,27 @@ msgid "" msgstr "" "Project-Id-Version: ipa\n" -"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" -"newticket\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" +"Report-Msgid-Bugs-To: https://fedorahosted.org/freeipa/newticket\n" +"POT-Creation-Date: 2016-06-21 10:11+0200\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" +"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.7.3\n" +"X-Generator: Zanata 3.8.4\n" + +msgid "Password" +msgstr "密码" + +msgid "Data" +msgstr "数据" + +msgid "Failed members" +msgstr "失败的成员" #, python-format msgid "Enter %(label)s again to verify: " @@ -181,12 +189,6 @@ msgstr "描述" msgid "Mount point" msgstr "挂载点" -msgid "Password" -msgstr "密码" - -msgid "Failed members" -msgstr "失败的成员" - msgid "Member users" msgstr "成员用户" @@ -235,9 +237,6 @@ msgstr "街道地址" msgid "Certificate" msgstr "证书" -msgid "Base-64 encoded server certificate" -msgstr "Base-64 编码格式的服务器证书" - msgid "User category" msgstr "用户类别" @@ -259,23 +258,17 @@ msgstr "主题" msgid "Serial number" msgstr "序列号" -msgid "Request id" -msgstr "请求号" - msgid "Request status" msgstr "请求状态" -msgid "Revocation reason" -msgstr "撤消原因" +msgid "Request id" +msgstr "请求号" msgid "Revoked" msgstr "撤销" -msgid "Reason" -msgstr "原因" - -msgid "Reason for revoking the certificate (0-10)" -msgstr "撤消证书的原因(0-10)" +msgid "Revocation reason" +msgstr "撤消原因" msgid "Error" msgstr "错误" @@ -370,9 +363,6 @@ msgstr "主机组" msgid "Name of host-group" msgstr "主机组名称" -msgid "Data" -msgstr "数据" - msgid "Groups" msgstr "用户组" @@ -420,3 +410,6 @@ msgstr "已删除用户\"%(value)s\"" #, python-format msgid "Modified user \"%(value)s\"" msgstr "已修改用户\"%(value)s\"" + +#~ msgid "Reason" +#~ msgstr "原因"