summaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
authorJohn Dennis <jdennis@redhat.com>2011-08-17 19:34:03 -0400
committerMartin Kosek <mkosek@redhat.com>2011-08-18 13:20:21 +0200
commita3742dd465601ca0471ac5ba3b90de274913f633 (patch)
tree00cd6d90fb6fec2d6dda01525e5a2f6da0fc7fc2 /install
parent302bbb9eead13a7a63d7a380ebe01253cc3d4f5e (diff)
downloadfreeipa-a3742dd465601ca0471ac5ba3b90de274913f633.zip
freeipa-a3742dd465601ca0471ac5ba3b90de274913f633.tar.gz
freeipa-a3742dd465601ca0471ac5ba3b90de274913f633.tar.xz
ticket 1660 - update LINGUAS file, add missing po files
Our LINGUAS file and the set of po files have diverged from what's on Transifex. We should update the LINGUAS file to match the set of translations on Transifex and add po files currently on Transifex but not in our git repo to our git repo.
Diffstat (limited to 'install')
-rw-r--r--install/po/LINGUAS21
-rw-r--r--install/po/as.po7813
-rw-r--r--install/po/el.po7813
-rw-r--r--install/po/fa.po7794
-rw-r--r--install/po/gu.po7813
-rw-r--r--install/po/ja_JP.po7794
-rw-r--r--install/po/nl.po7814
-rw-r--r--install/po/sv.po7813
8 files changed, 54667 insertions, 8 deletions
diff --git a/install/po/LINGUAS b/install/po/LINGUAS
index 8527bf9..257a908 100644
--- a/install/po/LINGUAS
+++ b/install/po/LINGUAS
@@ -1,17 +1,22 @@
+# Languages in the sort order on Transifex
+as # Assamese
bn_IN # Bengali (India)
-de # German
-es # Spanish (Castilian)
+zh_CN # Chinese (China)
+zh_TW # Chinese (Taiwan)
+nl # Dutch
fr # French
+de # German
+el # Greek
+gu # Gujarati
id # Indonesian
-he # Hebrew
-it # Italian (Italy)
+ja_JP # Japanese (Japan)
ja # Japanese
kn # Kannada
-ko # Korean
+fa # Persian
pl # Polish
-pt # Portuguese
pt_BR # Portuguese (Brazilian)
+pt # Portuguese
ru # Russian
+es # Spanish (Castilian)
+sv # Swedish
uk # Ukrainian
-zh_CN # Chinese (China)
-zh_TW # Chinese (Taiwan)
diff --git a/install/po/as.po b/install/po/as.po
new file mode 100644
index 0000000..76f3774
--- /dev/null
+++ b/install/po/as.po
@@ -0,0 +1,7813 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Red Hat
+# This file is distributed under the same license as the PACKAGE package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeIPA\n"
+"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?product=freeIPA\n"
+"POT-Creation-Date: 2011-06-06 13:27-0400\n"
+"PO-Revision-Date: 2011-08-17 23:23+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Assamese (http://www.transifex.net/projects/p/fedora/team/as/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: as\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: ipalib/plugins/__init__.py:20
+msgid ""
+"\n"
+"Sub-package containing all core plugins.\n"
+msgstr ""
+
+#: ipalib/plugins/aci.py:20
+msgid ""
+"\n"
+"Directory Server Access Control Instructions (ACIs)\n"
+"\n"
+"ACIs are used to allow or deny access to information. This module is\n"
+"currently designed to allow, not deny, access.\n"
+"\n"
+"The aci commands are designed to grant permissions that allow updating\n"
+"existing entries or adding or deleting new ones. The goal of the ACIs\n"
+"that ship with IPA is to provide a set of low-level permissions that\n"
+"grant access to special groups called taskgroups. These low-level\n"
+"permissions can be combined into roles that grant broader access. These\n"
+"roles are another type of group, roles.\n"
+"\n"
+"For example, if you have taskgroups that allow adding and modifying users you\n"
+"could create a role, useradmin. You would assign users to the useradmin\n"
+"role to allow them to do the operations defined by the taskgroups.\n"
+"\n"
+"You can create ACIs that delegate permission so users in group A can write\n"
+"attributes on group B.\n"
+"\n"
+"The type option is a map that applies to all entries in the users, groups or\n"
+"host location. It is primarily designed to be used when granting add\n"
+"permissions (to write new entries).\n"
+"\n"
+"An ACI consists of three parts:\n"
+"1. target\n"
+"2. permissions\n"
+"3. bind rules\n"
+"\n"
+"The target is a set of rules that define which LDAP objects are being\n"
+"targeted. This can include a list of attributes, an area of that LDAP\n"
+"tree or an LDAP filter.\n"
+"\n"
+"The targets include:\n"
+"- attrs: list of attributes affected\n"
+"- type: an object type (user, group, host, service, etc)\n"
+"- memberof: members of a group\n"
+"- targetgroup: grant access to modify a specific group. This is primarily\n"
+" designed to enable users to add or remove members of a specific group.\n"
+"- filter: A legal LDAP filter used to narrow the scope of the target.\n"
+"- subtree: Used to apply a rule across an entire set of objects. For example,\n"
+" to allow adding users you need to grant \"add\" permission to the subtree\n"
+" ldap://uid=*,cn=users,cn=accounts,dc=example,dc=com. The subtree option\n"
+" is a fail-safe for objects that may not be covered by the type option.\n"
+"\n"
+"The permissions define what the the ACI is allowed to do, and are one or\n"
+"more of:\n"
+"1. write - write one or more attributes\n"
+"2. read - read one or more attributes\n"
+"3. add - add a new entry to the tree\n"
+"4. delete - delete an existing entry\n"
+"5. all - all permissions are granted\n"
+"\n"
+"Note the distinction between attributes and entries. The permissions are\n"
+"independent, so being able to add a user does not mean that the user will\n"
+"be editable.\n"
+"\n"
+"The bind rule defines who this ACI grants permissions to. The LDAP server\n"
+"allows this to be any valid LDAP entry but we encourage the use of\n"
+"taskgroups so that the rights can be easily shared through roles.\n"
+"\n"
+"For a more thorough description of access controls see\n"
+"http://www.redhat.com/docs/manuals/dir-server/ag/8.0/Managing_Access_Control.html\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+"NOTE: ACIs are now added via the permission plugin. These examples are to\n"
+"demonstrate how the various options work but this is done via the permission\n"
+"command-line now (see last example).\n"
+"\n"
+" Add an ACI so that the group \"secretaries\" can update the address on any user:\n"
+" ipa group-add --desc=\"Office secretaries\" secretaries\n"
+" ipa aci-add --attrs=streetAddress --memberof=ipausers --group=secretaries --permissions=write --prefix=none \"Secretaries write addresses\"\n"
+"\n"
+" Show the new ACI:\n"
+" ipa aci-show --prefix=none \"Secretaries write addresses\"\n"
+"\n"
+" Add an ACI that allows members of the \"addusers\" permission to add new users:\n"
+" ipa aci-add --type=user --permission=addusers --permissions=add --prefix=none \"Add new users\"\n"
+"\n"
+" Add an ACI that allows members of the editors manage members of the admins group:\n"
+" ipa aci-add --permissions=write --attrs=member --targetgroup=admins --group=editors --prefix=none \"Editors manage admins\"\n"
+"\n"
+" Add an ACI that allows members of the admin group to manage the street and zip code of those in the editors group:\n"
+" ipa aci-add --permissions=write --memberof=editors --group=admins --attrs=street,postalcode --prefix=none \"admins edit the address of editors\"\n"
+"\n"
+" Add an ACI that allows the admins group manage the street and zipcode of those who work for the boss:\n"
+" ipa aci-add --permissions=write --group=admins --attrs=street,postalcode --filter=\"(manager=uid=boss,cn=users,cn=accounts,dc=example,dc=com)\" --prefix=none \"Edit the address of those who work for the boss\"\n"
+"\n"
+" Add an entirely new kind of record to IPA that isn't covered by any of the --type options, creating a permission:\n"
+" ipa permission-add --permissions=add --subtree=\"cn=*,cn=orange,cn=accounts,dc=example,dc=com\" --desc=\"Add Orange Entries\" add_orange\n"
+"\n"
+"\n"
+"The show command shows the raw 389-ds ACI.\n"
+"\n"
+"IMPORTANT: When modifying the target attributes of an existing ACI you\n"
+"must include all existing attributes as well. When doing an aci-mod the\n"
+"targetattr REPLACES the current attributes, it does not add to them.\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/aci.py:153
+msgid "A list of ACI values"
+msgstr ""
+
+#: ipalib/plugins/aci.py:172
+msgid ""
+"\n"
+" Given a name and a prefix construct an ACI name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:181
+msgid ""
+"\n"
+" Parse the raw ACI name and return a tuple containing the ACI prefix\n"
+" and the actual ACI name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:193
+msgid ""
+"\n"
+" Pull the group name out of a memberOf filter\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:204
+msgid ""
+"\n"
+" Given a name and a set of keywords construct an ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:215
+msgid "type, filter, subtree and targetgroup are mutually exclusive"
+msgstr ""
+
+#: ipalib/plugins/aci.py:218
+msgid "ACI prefix is required"
+msgstr ""
+
+#: ipalib/plugins/aci.py:221
+msgid ""
+"at least one of: type, filter, subtree, targetgroup, attrs or memberof are "
+"required"
+msgstr ""
+
+#: ipalib/plugins/aci.py:224
+msgid "filter and memberof are mutually exclusive"
+msgstr ""
+
+#: ipalib/plugins/aci.py:230
+msgid "group, permission and self are mutually exclusive"
+msgstr ""
+
+#: ipalib/plugins/aci.py:232
+msgid "One of group, permission or self is required"
+msgstr ""
+
+#: ipalib/plugins/aci.py:251
+msgid "Group '%s' does not exist"
+msgstr ""
+
+#: ipalib/plugins/aci.py:273
+msgid "empty filter"
+msgstr ""
+
+#: ipalib/plugins/aci.py:294
+msgid "Syntax Error: %(error)s"
+msgstr ""
+
+#: ipalib/plugins/aci.py:299
+msgid ""
+"Convert an ACI into its equivalent keywords.\n"
+"\n"
+" This is used for the modify operation so we can merge the\n"
+" incoming kw and existing ACI and pass the result to\n"
+" _make_aci().\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:379
+msgid "ACI with name \"%s\" not found"
+msgstr ""
+
+#: ipalib/plugins/aci.py:400
+msgid "ACI prefix"
+msgstr ""
+
+#: ipalib/plugins/aci.py:401
+msgid ""
+"Prefix used to distinguish ACI types (permission, delegation, selfservice, "
+"none)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:407
+msgid ""
+"\n"
+" ACI object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:412
+msgid "ACIs"
+msgstr ""
+
+#: ipalib/plugins/aci.py:417
+msgid "ACI name"
+msgstr ""
+
+#: ipalib/plugins/aci.py:422
+msgid "Permission"
+msgstr ""
+
+#: ipalib/plugins/aci.py:423
+msgid "Permission ACI grants access to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:427 ipalib/plugins/delegation.py:130
+msgid "User group"
+msgstr ""
+
+#: ipalib/plugins/aci.py:428 ipalib/plugins/delegation.py:131
+msgid "User group ACI grants access to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:432 ipalib/plugins/baseldap.py:60
+#: ipalib/plugins/delegation.py:113 ipalib/plugins/permission.py:107
+#: ipalib/plugins/permission.py:118 ipalib/plugins/selfservice.py:86
+msgid "Permissions"
+msgstr ""
+
+#: ipalib/plugins/aci.py:433
+msgid ""
+"comma-separated list of permissions to grant(read, write, add, delete, all)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:439 ipalib/plugins/delegation.py:119
+#: ipalib/plugins/permission.py:124 ipalib/plugins/selfservice.py:92
+msgid "Attributes"
+msgstr ""
+
+#: ipalib/plugins/aci.py:440 ipalib/plugins/delegation.py:120
+#: ipalib/plugins/permission.py:125 ipalib/plugins/selfservice.py:93
+msgid "Comma-separated list of attributes"
+msgstr ""
+
+#: ipalib/plugins/aci.py:444 ipalib/plugins/internal.py:164
+#: ipalib/plugins/permission.py:131
+msgid "Type"
+msgstr ""
+
+#: ipalib/plugins/aci.py:445
+msgid "type of IPA object (user, group, host, hostgroup, service, netgroup)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:450
+msgid "Member of"
+msgstr ""
+
+#: ipalib/plugins/aci.py:451
+msgid "Member of a group"
+msgstr ""
+
+#: ipalib/plugins/aci.py:455 ipalib/plugins/internal.py:234
+#: ipalib/plugins/permission.py:144
+msgid "Filter"
+msgstr ""
+
+#: ipalib/plugins/aci.py:456 ipalib/plugins/permission.py:145
+msgid "Legal LDAP filter (e.g. ou=Engineering)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:460 ipalib/plugins/permission.py:150
+msgid "Subtree"
+msgstr ""
+
+#: ipalib/plugins/aci.py:461
+msgid "Subtree to apply ACI to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:465 ipalib/plugins/permission.py:156
+msgid "Target group"
+msgstr ""
+
+#: ipalib/plugins/aci.py:466
+msgid "Group to apply ACI to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:470
+msgid "Target your own entry (self)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:471
+msgid "Apply ACI to your own entry (self)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:478
+msgid ""
+"\n"
+" Create new ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:482
+msgid "Created ACI \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/aci.py:487
+msgid "Test the ACI syntax but don't write anything"
+msgstr ""
+
+#: ipalib/plugins/aci.py:493
+msgid ""
+"\n"
+" Execute the aci-create operation.\n"
+"\n"
+" Returns the entry as it will be created in LDAP.\n"
+"\n"
+" :param aciname: The name of the ACI being added.\n"
+" :param kw: Keyword arguments for the other LDAP attributes.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:533
+msgid ""
+"\n"
+" Delete ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:538
+msgid "Deleted ACI \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/aci.py:543
+msgid ""
+"\n"
+" Execute the aci-delete operation.\n"
+"\n"
+" :param aciname: The name of the ACI being added.\n"
+" :param kw: unused\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:576
+msgid ""
+"\n"
+" Modify ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:582 ipalib/plugins/aci.py:830
+#: ipalib/plugins/aci.py:871 ipalib/plugins/delegation.py:255
+#: ipalib/plugins/selfservice.py:212
+msgid "ACI"
+msgstr ""
+
+#: ipalib/plugins/aci.py:588
+msgid "Modified ACI \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/aci.py:633
+msgid ""
+"\n"
+" Search for ACIs.\n"
+"\n"
+" Returns a list of ACIs\n"
+"\n"
+" EXAMPLES:\n"
+"\n"
+" To find all ACIs that apply directly to members of the group ipausers:\n"
+" ipa aci-find --memberof=ipausers\n"
+"\n"
+" To find all ACIs that grant add access:\n"
+" ipa aci-find --permissions=add\n"
+"\n"
+" Note that the find command only looks for the given text in the set of\n"
+" ACIs, it does not evaluate the ACIs to see if something would apply.\n"
+" For example, searching on memberof=ipausers will find all ACIs that\n"
+" have ipausers as a memberof. There may be other ACIs that apply to\n"
+" members of that group indirectly.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:653
+msgid "%(count)d ACI matched"
+msgid_plural "%(count)d ACIs matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/aci.py:823
+msgid ""
+"\n"
+" Display a single ACI given an ACI name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:837
+msgid ""
+"\n"
+" Execute the aci-show operation.\n"
+"\n"
+" Returns the entry\n"
+"\n"
+" :param uid: The login name of the user to retrieve.\n"
+" :param kw: unused\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:865
+msgid ""
+"\n"
+" Rename an ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:878
+msgid "New ACI name"
+msgstr ""
+
+#: ipalib/plugins/aci.py:882
+msgid "Renamed ACI to \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/automount.py:20
+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"
+"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"
+" 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/automount.py:182
+msgid ""
+"\n"
+" Location container for automount maps.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:190
+msgid "Automount Locations"
+msgstr ""
+
+#: ipalib/plugins/automount.py:196 ipalib/plugins/host.py:247
+msgid "Location"
+msgstr ""
+
+#: ipalib/plugins/automount.py:197
+msgid "Automount location name."
+msgstr ""
+
+#: ipalib/plugins/automount.py:206
+msgid ""
+"\n"
+" Create a new automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:221
+msgid ""
+"\n"
+" Delete an automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:229
+msgid ""
+"\n"
+" Display an automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:237
+msgid ""
+"\n"
+" Search for an automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:245
+msgid ""
+"\n"
+" Generate automount files for a specific location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:308
+msgid ""
+"\n"
+" Import automount files for a specific location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:314
+msgid "Master file"
+msgstr ""
+
+#: ipalib/plugins/automount.py:315
+msgid "Automount master file."
+msgstr ""
+
+#: ipalib/plugins/automount.py:322
+msgid ""
+"Continuous operation mode. Errors are reported but the process continues."
+msgstr ""
+
+#: ipalib/plugins/automount.py:334
+msgid "File %(file)s not found"
+msgstr ""
+
+#: ipalib/plugins/automount.py:341
+msgid ""
+"\n"
+" The basic idea is to read the master file and create all the maps\n"
+" we need, then read each map file and add all the keys for the map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:492
+msgid ""
+"\n"
+" Automount map object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:505
+msgid "Map"
+msgstr ""
+
+#: ipalib/plugins/automount.py:506
+msgid "Automount map name."
+msgstr ""
+
+#: ipalib/plugins/automount.py:511 ipalib/plugins/group.py:114
+#: ipalib/plugins/hbacrule.py:171 ipalib/plugins/hbacsvc.py:73
+#: ipalib/plugins/hbacsvcgroup.py:75 ipalib/plugins/host.py:237
+#: ipalib/plugins/hostgroup.py:85 ipalib/plugins/netgroup.py:109
+#: ipalib/plugins/privilege.py:76 ipalib/plugins/role.py:92
+#: ipalib/plugins/sudocmd.py:74 ipalib/plugins/sudocmdgroup.py:76
+#: ipalib/plugins/sudorule.py:78
+msgid "Description"
+msgstr ""
+
+#: ipalib/plugins/automount.py:515
+msgid "Automount Maps"
+msgstr ""
+
+#: ipalib/plugins/automount.py:521
+msgid ""
+"\n"
+" Create a new automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:529
+msgid ""
+"\n"
+" Delete an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:548
+msgid ""
+"\n"
+" Modify an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:556
+msgid ""
+"\n"
+" Search for an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:564
+msgid ""
+"\n"
+" Display an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:572
+msgid ""
+"\n"
+" Automount key object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:589 ipalib/plugins/automount.py:778
+#: ipalib/plugins/automount.py:850
+msgid "Key"
+msgstr ""
+
+#: ipalib/plugins/automount.py:590 ipalib/plugins/automount.py:779
+#: ipalib/plugins/automount.py:851
+msgid "Automount key name."
+msgstr ""
+
+#: ipalib/plugins/automount.py:594 ipalib/plugins/automount.py:783
+#: ipalib/plugins/automount.py:855
+msgid "Mount information"
+msgstr ""
+
+#: ipalib/plugins/automount.py:597
+msgid "description"
+msgstr ""
+
+#: ipalib/plugins/automount.py:606
+msgid "Automount Keys"
+msgstr ""
+
+#: ipalib/plugins/automount.py:607
+msgid ""
+"The key,info pair must be unique. A key named %(key)s with info %(info)s "
+"already exists"
+msgstr ""
+
+#: ipalib/plugins/automount.py:608
+msgid "key named %(key)s already exists"
+msgstr ""
+
+#: ipalib/plugins/automount.py:609
+msgid "The automount key %(key)s with info %(info)s does not exist"
+msgstr ""
+
+#: ipalib/plugins/automount.py:659
+msgid ""
+"More than one entry with key %(key)s found, use --info to select specific "
+"entry."
+msgstr ""
+
+#: ipalib/plugins/automount.py:717
+msgid ""
+"\n"
+" Create a new automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:742
+msgid ""
+"\n"
+" Create a new indirect mount point.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:748
+msgid "Mount point"
+msgstr ""
+
+#: ipalib/plugins/automount.py:752
+msgid "Parent map"
+msgstr ""
+
+#: ipalib/plugins/automount.py:753
+msgid "Name of parent automount map (default: auto.master)."
+msgstr ""
+
+#: ipalib/plugins/automount.py:772
+msgid ""
+"\n"
+" Delete an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:803
+msgid ""
+"\n"
+" Modify an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:809
+msgid "New mount information"
+msgstr ""
+
+#: ipalib/plugins/automount.py:836
+msgid ""
+"\n"
+" Search for an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:844
+msgid ""
+"\n"
+" Display an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:19
+msgid ""
+"\n"
+"Base classes for LDAP plugins.\n"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:39
+msgid "Failed members"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:42
+msgid "Member users"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:45
+msgid "Member groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:48
+msgid "Member of groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:51
+msgid "Member hosts"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:54
+msgid "Member host-groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:57
+msgid "Member of host-groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:66
+msgid "Roles"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:69 ipalib/plugins/sudocmdgroup.py:65
+#: ipalib/plugins/sudocmdgroup.py:84 ipalib/plugins/sudorule.py:139
+#: ipalib/plugins/sudorule.py:143
+msgid "Sudo Command Groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:75
+msgid "Granting privilege to roles"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:78
+msgid "Member netgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:81
+msgid "Member of netgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:84
+msgid "Member services"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:87
+msgid "Member service groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:93
+msgid "Member HBAC service groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:102
+msgid "Indirect Member users"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:105
+msgid "Indirect Member groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:108
+msgid "Indirect Member hosts"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:111
+msgid "Indirect Member host-groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:114
+msgid "Indirect Member of roles"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:117
+msgid "Indirect Member permissions"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:120
+msgid "Indirect Member HBAC service"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:123
+msgid "Indirect Member HBAC service group"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:126
+msgid "Indirect Member netgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:141
+msgid "External host"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:144
+msgid "Failed hosts/hostgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:147
+msgid "Failed users/groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:150
+msgid "Failed managedby"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:153
+msgid "Failed to remove"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:171
+msgid ""
+"\n"
+" Given a list of values in the form name=value, return a list of name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:197
+msgid ""
+"\n"
+" When adding or removing reverse members we are faking an update to\n"
+" object A by updating the member attribute in object B. The memberof\n"
+" plugin makes this work by adding or removing the memberof attribute\n"
+" to/from object A, it just takes a little bit of time.\n"
+"\n"
+" This will loop for 6+ seconds, retrieving object A so we can see\n"
+" if all the memberof attributes have been updated.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:241
+msgid ""
+"\n"
+" Object representing a LDAP entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:281
+msgid "Entry"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:283
+msgid "container entry (%(container)s) not found"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:284
+msgid "%(parent)s: %(oname)s not found"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:285
+msgid "%(pkey)s: %(oname)s not found"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:286
+msgid "%(oname)s with name \"%(pkey)s\" already exists"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:415
+msgid ""
+"Add an attribute/value pair. Format is attr=value. The attribute must be "
+"part of the schema."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:420
+msgid ""
+"Set an attribute to a name/value pair. Format is attr=value.\n"
+"For multi-valued attributes, the command replaces the values already present."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:444
+msgid ""
+"\n"
+" If the set of objectclasses is limited enforce that only those\n"
+" are updated in entry_attrs (plus dn)\n"
+"\n"
+" allow_only tells us what mode to check in:\n"
+"\n"
+" If True then we enforce that the attributes must be in the list of\n"
+" allowed.\n"
+"\n"
+" If False then those attributes are not allowed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:474
+msgid ""
+"\n"
+" Callback registration interface\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:561
+msgid ""
+"\n"
+" Create a new entry in LDAP.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:703
+msgid ""
+"\n"
+" Base class for commands that need to retrieve an existing entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:727
+msgid ""
+"\n"
+" Base class for commands that need to retrieve one or more existing entries.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:733
+msgid "Continuous mode: Don't stop on errors."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:750
+msgid ""
+"\n"
+" Retrieve an LDAP entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:758 ipalib/plugins/baseldap.py:827
+#: ipalib/plugins/internal.py:232
+msgid "Rights"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:759 ipalib/plugins/baseldap.py:828
+msgid ""
+"Display the access rights of this entry (requires --all). See ipa man page "
+"for details."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:821
+msgid ""
+"\n"
+" Update an LDAP entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:837
+msgid "Rename"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:838
+msgid "Rename the %(ldap_obj_name)s object"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:957
+msgid "the entry was deleted while being modified"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:988
+msgid ""
+"\n"
+" Delete an LDAP entry and all of its direct subentries.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1078
+msgid ""
+"\n"
+" Base class for member manipulation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1120
+msgid ""
+"\n"
+" Add other LDAP entries to members.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1131 ipalib/plugins/baseldap.py:1592
+#: ipalib/plugins/privilege.py:165 ipalib/plugins/privilege.py:191
+#: ipalib/plugins/role.py:179 ipalib/plugins/role.py:203
+msgid "Members that could not be added"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1135 ipalib/plugins/baseldap.py:1596
+msgid "Number of members added"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1226
+msgid ""
+"\n"
+" Remove LDAP entries from members.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1236 ipalib/plugins/baseldap.py:1705
+msgid "Members that could not be removed"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1240 ipalib/plugins/baseldap.py:1709
+msgid "Number of members removed"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1335
+msgid ""
+"\n"
+" Retrieve all LDAP entries matching the given criteria.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1344
+msgid "Time Limit"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1345
+msgid "Time limit of search in seconds"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1351
+msgid "Size Limit"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1352
+msgid "Maximum number of entries returned"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1552
+msgid ""
+"\n"
+" Base class for reverse member manipulation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1574
+msgid ""
+"\n"
+" Add other LDAP entries to members in reverse.\n"
+"\n"
+" The call looks like \"add A to B\" but in fact executes\n"
+" add B to A to handle reverse membership.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1654
+msgid "added"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1687
+msgid ""
+"\n"
+" Remove other LDAP entries from members in reverse.\n"
+"\n"
+" The call looks like \"remove A from B\" but in fact executes\n"
+" remove B from A to handle reverse membership.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1767
+msgid "removed"
+msgstr ""
+
+#: ipalib/plugins/batch.py:21
+msgid ""
+"\n"
+"Plugin to make multiple ipa calls via one remote procedure call\n"
+"\n"
+"To run this code in the lite-server\n"
+"\n"
+"curl -H \"Content-Type:application/json\" -H \"Accept:application/json\" -H \"Accept-Language:en\" --negotiate -u : --cacert /etc/ipa/ca.crt -d @batch_request.json -X POST http://localhost:8888/ipa/json\n"
+"\n"
+"where the contents of the file batch_request.json follow the below example\n"
+"\n"
+"{\"method\":\"batch\",\"params\":[[\n"
+" {\"method\":\"group_find\",\"params\":[[],{}]},\n"
+" {\"method\":\"user_find\",\"params\":[[],{\"whoami\":\"true\",\"all\":\"true\"}]},\n"
+" {\"method\":\"user_show\",\"params\":[[\"admin\"],{\"all\":true}]}\n"
+" ],{}],\"id\":1}\n"
+"\n"
+"The format of the response is nested the same way. At the top you will see\n"
+" \"error\": null,\n"
+" \"id\": 1,\n"
+" \"result\": {\n"
+" \"count\": 3,\n"
+" \"results\": [\n"
+"\n"
+"\n"
+"And then a nested response for each IPA command method sent in the request\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/batch.py:61
+msgid "Nested Methods to execute"
+msgstr ""
+
+#: ipalib/plugins/batch.py:68 ipalib/frontend.py:861
+msgid "Client version. Used to determine if server will accept request."
+msgstr ""
+
+#: ipalib/plugins/cert.py:22
+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"
+"If using the selfsign back end then the subject in the CSR needs to match\n"
+"the subject configured in the server. The dogtag CA uses just the CN\n"
+"value of the CSR and forces the rest of the subject.\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"
+"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"
+"IPA currently immediately issues (or declines) all certificate requests so\n"
+"the status of a request is not normally useful. This is for future use\n"
+"or the case where a CA does not immediately issue a certificate.\n"
+"\n"
+"The following revocation reasons are supported:\n"
+"\n"
+" * 0 - unspecified\n"
+" * 1 - keyCompromise\n"
+" * 2 - cACompromise\n"
+" * 3 - affiliationChanged\n"
+" * 4 - superseded\n"
+" * 5 - cessationOfOperation\n"
+" * 6 - certificateHold\n"
+" * 8 - removeFromCRL\n"
+" * 9 - privilegeWithdrawn\n"
+" * 10 - aACompromise\n"
+"\n"
+"Note that reason code 7 is not used. See RFC 5280 for more details:\n"
+"\n"
+"http://www.ietf.org/rfc/rfc5280.txt\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/cert.py:104
+msgid ""
+"\n"
+" Return the value of CN in the subject of the request or None\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:112
+msgid "Failure decoding Certificate Signing Request:"
+msgstr ""
+
+#: ipalib/plugins/cert.py:115
+msgid ""
+"\n"
+" Return the first value of the subject alt name, if any\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:125 ipalib/plugins/cert.py:137
+msgid "Failure decoding Certificate Signing Request"
+msgstr ""
+
+#: ipalib/plugins/cert.py:128
+msgid ""
+"\n"
+" Ensure the CSR is base64-encoded and can be decoded by our PKCS#10\n"
+" parser.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:139
+msgid "Failure decoding Certificate Signing Request: %s"
+msgstr ""
+
+#: ipalib/plugins/cert.py:142
+msgid ""
+"\n"
+" Strip any leading and trailing cruft around the BEGIN/END block\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:162
+msgid ""
+"\n"
+" Convert a SN given in decimal or hexadecimal.\n"
+" Returns the number or None if conversion fails.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:188
+msgid ""
+"\n"
+" Given a principal with or without a realm return the\n"
+" host portion.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:202
+msgid ""
+"\n"
+" Submit a certificate signing request.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:216 ipalib/plugins/service.py:225
+msgid "Principal"
+msgstr ""
+
+#: ipalib/plugins/cert.py:217
+msgid "Service principal for this certificate (e.g. HTTP/test.example.com)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:224
+msgid "automatically add the principal if it doesn't exist"
+msgstr ""
+
+#: ipalib/plugins/cert.py:232 ipalib/plugins/cert.py:439
+#: ipalib/plugins/entitle.py:173 ipalib/plugins/host.py:276
+#: ipalib/plugins/service.py:232
+msgid "Certificate"
+msgstr ""
+
+#: ipalib/plugins/cert.py:236 ipalib/plugins/cert.py:442
+#: ipalib/plugins/host.py:159 ipalib/plugins/service.py:93
+msgid "Subject"
+msgstr ""
+
+#: ipalib/plugins/cert.py:240 ipalib/plugins/cert.py:445
+#: ipalib/plugins/host.py:165 ipalib/plugins/service.py:99
+msgid "Issuer"
+msgstr ""
+
+#: ipalib/plugins/cert.py:244 ipalib/plugins/cert.py:448
+#: ipalib/plugins/host.py:168 ipalib/plugins/service.py:102
+msgid "Not Before"
+msgstr ""
+
+#: ipalib/plugins/cert.py:248 ipalib/plugins/cert.py:451
+#: ipalib/plugins/host.py:171 ipalib/plugins/service.py:105
+msgid "Not After"
+msgstr ""
+
+#: ipalib/plugins/cert.py:252 ipalib/plugins/cert.py:454
+#: ipalib/plugins/host.py:174 ipalib/plugins/service.py:108
+msgid "Fingerprint (MD5)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:256 ipalib/plugins/cert.py:457
+#: ipalib/plugins/host.py:177 ipalib/plugins/service.py:111
+msgid "Fingerprint (SHA1)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:260 ipalib/plugins/cert.py:425
+msgid "Serial number"
+msgstr ""
+
+#: ipalib/plugins/cert.py:268 ipalib/plugins/entitle.py:230
+#: ipalib/plugins/entitle.py:588 ipalib/plugins/misc.py:57
+msgid "Dictionary mapping variable name to value"
+msgstr ""
+
+#: ipalib/plugins/cert.py:396
+msgid ""
+"\n"
+" Check the status of a certificate signing request.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:402
+msgid "Request id"
+msgstr ""
+
+#: ipalib/plugins/cert.py:408
+msgid "Request status"
+msgstr ""
+
+#: ipalib/plugins/cert.py:426
+msgid "Serial number in decimal or if prefixed with 0x in hexadecimal"
+msgstr ""
+
+#: ipalib/plugins/cert.py:431
+msgid ""
+"\n"
+" Retrieve an existing certificate.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:460 ipalib/plugins/host.py:180
+#: ipalib/plugins/service.py:114
+msgid "Revocation reason"
+msgstr ""
+
+#: ipalib/plugins/cert.py:466
+msgid "Output filename"
+msgstr ""
+
+#: ipalib/plugins/cert.py:467
+msgid "File to store the certificate in."
+msgstr ""
+
+#: ipalib/plugins/cert.py:518
+msgid ""
+"\n"
+" Revoke a certificate.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:526
+msgid "Revoked"
+msgstr ""
+
+#: ipalib/plugins/cert.py:534
+msgid "Reason"
+msgstr ""
+
+#: ipalib/plugins/cert.py:535
+msgid "Reason for revoking the certificate (0-10)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:562
+msgid ""
+"\n"
+" Take a revoked certificate off hold.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:570
+msgid "Unrevoked"
+msgstr ""
+
+#: ipalib/plugins/cert.py:573
+msgid "Error"
+msgstr ""
+
+#: ipalib/plugins/config.py:20
+msgid ""
+"\n"
+"Manage the IPA configuration\n"
+"\n"
+"Manage the default values that IPA uses and some of its tuning parameters.\n"
+"\n"
+" To show the current configuration:\n"
+" ipa config-show\n"
+"\n"
+" To modify the configuration:\n"
+" ipa config-mod --maxusername=99\n"
+"\n"
+"The available options are:\n"
+"\n"
+"User management options:\n"
+"\n"
+" --maxusername=INT Max. username length when creating/modifying a user\n"
+" --homedirectory=STR Default location of home directories (default /home)\n"
+" --defaultshell=STR Default shell for new users (default /bin/sh)\n"
+" --defaultgroup=STR Default group for new users (default ipausers). The\n"
+" group must exist, or adding new users will fail.\n"
+" --emaildomain=STR Default e-mail domain for new users\n"
+"\n"
+"Search tuning options. These impact how much data is searched through and\n"
+"how many records may be returned on a given search.\n"
+"\n"
+" --searchtimelimit=INT Max. amount of time (sec.) for a search (> 0, or -1 for\n"
+" unlimited)\n"
+" --searchrecordslimit=INT Max. number of records to search (-1 is unlimited)\n"
+"\n"
+"Server Configuration.\n"
+"\n"
+" --enable-migration=BOOL Enable migration mode\n"
+" --pwdexpnotify=INT Password Expiration Notification (days)\n"
+"\n"
+"The password notification value is stored here so it will be replicated.\n"
+"It is not currently used to notify users in advance of an expiring\n"
+"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"
+msgstr ""
+
+#: ipalib/plugins/config.py:76
+msgid "searchtimelimit must be -1 or > 1."
+msgstr ""
+
+#: ipalib/plugins/config.py:80
+msgid ""
+"\n"
+" IPA configuration object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/config.py:91 ipalib/plugins/internal.py:151
+msgid "Configuration"
+msgstr ""
+
+#: ipalib/plugins/config.py:96
+msgid "Max. username length"
+msgstr ""
+
+#: ipalib/plugins/config.py:101
+msgid "Home directory base"
+msgstr ""
+
+#: ipalib/plugins/config.py:102
+msgid "Default location of home directories."
+msgstr ""
+
+#: ipalib/plugins/config.py:106
+msgid "Default shell"
+msgstr ""
+
+#: ipalib/plugins/config.py:107
+msgid "Default shell for new users."
+msgstr ""
+
+#: ipalib/plugins/config.py:111
+msgid "Default users group"
+msgstr ""
+
+#: ipalib/plugins/config.py:112
+msgid "Default group for new users."
+msgstr ""
+
+#: ipalib/plugins/config.py:116
+msgid "Default e-mail domain for new users"
+msgstr ""
+
+#: ipalib/plugins/config.py:117
+msgid "Default e-mail domain new users."
+msgstr ""
+
+#: ipalib/plugins/config.py:121
+msgid "Search time limit"
+msgstr ""
+
+#: ipalib/plugins/config.py:122
+msgid "Max. amount of time (sec.) for a search (> 0, or -1 for unlimited)."
+msgstr ""
+
+#: ipalib/plugins/config.py:127
+msgid "Search size limit"
+msgstr ""
+
+#: ipalib/plugins/config.py:128
+msgid "Max. number of records to search (-1 is unlimited)."
+msgstr ""
+
+#: ipalib/plugins/config.py:133
+msgid "User search fields"
+msgstr ""
+
+#: ipalib/plugins/config.py:134
+msgid "A comma-separated list of fields to search when searching for users."
+msgstr ""
+
+#: ipalib/plugins/config.py:139
+msgid "A comma-separated list of fields to search when searching for groups."
+msgstr ""
+
+#: ipalib/plugins/config.py:143
+msgid "Migration mode"
+msgstr ""
+
+#: ipalib/plugins/config.py:144
+msgid "Enable migration mode."
+msgstr ""
+
+#: ipalib/plugins/config.py:148
+msgid "Certificate Subject base"
+msgstr ""
+
+#: ipalib/plugins/config.py:149
+msgid "Base for certificate subjects (OU=Test,O=Example)."
+msgstr ""
+
+#: ipalib/plugins/config.py:154
+msgid "Default group objectclasses"
+msgstr ""
+
+#: ipalib/plugins/config.py:155
+msgid "Default group objectclassses (comma-separated list)."
+msgstr ""
+
+#: ipalib/plugins/config.py:159
+msgid "Default user objectclasses"
+msgstr ""
+
+#: ipalib/plugins/config.py:160
+msgid "Default user objectclassses (comma-separated list)."
+msgstr ""
+
+#: ipalib/plugins/config.py:164
+msgid "Password Expiration Notification"
+msgstr ""
+
+#: ipalib/plugins/config.py:165
+msgid "Number of days's notice of impending password expiration."
+msgstr ""
+
+#: ipalib/plugins/config.py:170
+msgid "Password plugin features"
+msgstr ""
+
+#: ipalib/plugins/config.py:171
+msgid "Extra hashes to generate in password plug-in."
+msgstr ""
+
+#: ipalib/plugins/config.py:183
+msgid ""
+"\n"
+" Modify configuration options.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/config.py:220
+msgid ""
+"\n"
+" Show the current configuration.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:19
+msgid ""
+"\n"
+"Group to Group Delegation\n"
+"\n"
+"A permission enables fine-grained delegation of permissions. Access Control\n"
+"Rules, or instructions (ACIs), grant permission to permissions to perform\n"
+"given tasks such as adding a user, modifying a group, etc.\n"
+"\n"
+"Group to Group Delegations grants the members of one group to update a set\n"
+"of attributes of members of another group.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a delegation rule to allow editors to edit admin's addresses:\n"
+" ipa delegation-add --attrs=street --membergroup=admins --group=editors 'editors edit admins street'\n"
+"\n"
+" When managing the list of attributes you need to include all attributes\n"
+" in the list, including existing ones. Add postalCode to the list:\n"
+" ipa delegation-mod --attrs=street,postalCode --membergroup=admins --group=editors 'editors edit admins street'\n"
+"\n"
+" Display our updated rule:\n"
+" ipa delegation-show 'editors edit admins street'\n"
+"\n"
+" Delete a rule:\n"
+" ipa delegation-del 'editors edit admins street'\n"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:56
+msgid ""
+"\n"
+" memberOf is in filter but we want to pull out the group for easier\n"
+" displaying.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:63 ipalib/plugins/delegation.py:90
+msgid "Delegation '%(permission)s' not found"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:70
+msgid "Error retrieving member group %(group)s: %(error)s"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:79
+msgid ""
+"\n"
+" Determine if the ACI is a Delegation ACI and raise an exception if it\n"
+" isn't.\n"
+"\n"
+" Return the result if it is a delegation ACI, adding a new attribute\n"
+" membergroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:95
+msgid ""
+"\n"
+" Delegation object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:102
+msgid "Delegation"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:107 ipalib/plugins/delegation.py:108
+msgid "Delegation name"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:114 ipalib/plugins/selfservice.py:87
+msgid ""
+"Comma-separated list of permissions to grant (read, write). Default is "
+"write."
+msgstr ""
+
+#: ipalib/plugins/delegation.py:125
+msgid "Member user group"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:126
+msgid "User group to apply delegation to"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:152
+msgid ""
+"\n"
+" Add a new delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:156
+msgid "Added delegation \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/delegation.py:176
+msgid ""
+"\n"
+" Delete a delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:181
+msgid "Deleted delegation \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/delegation.py:197
+msgid ""
+"\n"
+" Modify a delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:201
+msgid "Modified delegation \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/delegation.py:219
+msgid ""
+"\n"
+" Search for delegations.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:223
+msgid "%(count)d delegation matched"
+msgid_plural "%(count)d delegations matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/delegation.py:250
+msgid ""
+"\n"
+" Display information about a delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:20
+msgid ""
+"\n"
+"Domain Name System (DNS)\n"
+"\n"
+"Manage DNS zone and resource records.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add new zone:\n"
+" ipa dnszone-add example.com --name-server nameserver.example.com\n"
+" --admin-email admin@example.com\n"
+"\n"
+" Add second nameserver for example.com:\n"
+" ipa dnsrecord-add example.com @ --ns-rec nameserver2.example.com\n"
+"\n"
+" Add a mail server for example.com:\n"
+" ipa dnsrecord-add example.com @ --mx-rec=\"10 mail2\"\n"
+"\n"
+" Delete previously added nameserver from example.com:\n"
+" ipa dnsrecord-del example.com @ --ns-rec nameserver2.example.com\n"
+"\n"
+" Add new A record for www.example.com: (random IP)\n"
+" ipa dnsrecord-add example.com www --a-rec 80.142.15.2\n"
+"\n"
+" Add new PTR record for www.example.com\n"
+" ipa dnsrecord-add 15.142.80.in-addr.arpa 2 --ptr-rec www.example.com.\n"
+"\n"
+" Add new SRV records for LDAP servers. Three quarters of the requests\n"
+" should go to fast.example.com, one quarter to slow.example.com. If neither\n"
+" is available, switch to backup.example.com.\n"
+" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 3 389 fast.example.com\"\n"
+" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 1 389 slow.example.com\"\n"
+" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"1 1 389 backup.example.com\"\n"
+"\n"
+" When dnsrecord-add command is executed with no option to add a specific record\n"
+" an interactive mode is started. The mode interactively prompts for the most\n"
+" typical record types for the respective zone:\n"
+" ipa dnsrecord-add example.com www\n"
+" [A record]: 1.2.3.4,11.22.33.44 (2 interactively entered random IPs)\n"
+" [AAAA record]: (no AAAA address entered)\n"
+" Record name: www\n"
+" A record: 1.2.3.4, 11.22.33.44\n"
+"\n"
+" The interactive mode can also be used for deleting the DNS records:\n"
+" ipa dnsrecord-del example.com www\n"
+" No option to delete specific record provided.\n"
+" Delete all? Yes/No (default No): (do not delete all records)\n"
+" Current DNS record contents:\n"
+"\n"
+" A record: 1.2.3.4, 11.22.33.44\n"
+"\n"
+" Delete A record '1.2.3.4'? Yes/No (default No): \n"
+" Delete A record '11.22.33.44'? Yes/No (default No): y\n"
+" Record name: www\n"
+" A record: 1.2.3.4 (A record 11.22.33.44 has been deleted)\n"
+"\n"
+" Show zone example.com:\n"
+" ipa dnszone-show example.com\n"
+"\n"
+" Find zone with \"example\" in its domain name:\n"
+" ipa dnszone-find example\n"
+"\n"
+" Find records for resources with \"www\" in their name in zone example.com:\n"
+" ipa dnsrecord-find example.com www\n"
+"\n"
+" Find A records with value 10.10.0.1 in zone example.com\n"
+" ipa dnsrecord-find example.com --a-rec 10.10.0.1\n"
+"\n"
+" Show records for resource www in zone example.com\n"
+" ipa dnsrecord-show example.com www\n"
+"\n"
+" Delete zone example.com with all resource records:\n"
+" ipa dnszone-del example.com\n"
+"\n"
+" Resolve a host name to see if it exists (will add default IPA domain\n"
+" if one is not included):\n"
+" ipa dns-resolve www.example.com\n"
+" ipa dns-resolve www\n"
+msgstr ""
+
+#: ipalib/plugins/dns.py:140
+msgid "Generate serial number for zones."
+msgstr ""
+
+#: ipalib/plugins/dns.py:189
+msgid "see RFC 2915 "
+msgstr ""
+
+#: ipalib/plugins/dns.py:249
+msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record"
+msgstr ""
+
+#: ipalib/plugins/dns.py:272
+msgid ""
+"\n"
+" DNS Zone, container for resource records.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:284
+msgid "DNS"
+msgstr ""
+
+#: ipalib/plugins/dns.py:289
+msgid "Zone name"
+msgstr ""
+
+#: ipalib/plugins/dns.py:290
+msgid "Zone name (FQDN)"
+msgstr ""
+
+#: ipalib/plugins/dns.py:296
+msgid "Authoritative nameserver"
+msgstr ""
+
+#: ipalib/plugins/dns.py:297
+msgid "Authoritative nameserver."
+msgstr ""
+
+#: ipalib/plugins/dns.py:301 ipalib/plugins/dns.py:302
+msgid "Administrator e-mail address"
+msgstr ""
+
+#: ipalib/plugins/dns.py:308
+msgid "SOA serial"
+msgstr ""
+
+#: ipalib/plugins/dns.py:309
+msgid "SOA record serial number"
+msgstr ""
+
+#: ipalib/plugins/dns.py:316
+msgid "SOA refresh"
+msgstr ""
+
+#: ipalib/plugins/dns.py:317
+msgid "SOA record refresh time"
+msgstr ""
+
+#: ipalib/plugins/dns.py:324
+msgid "SOA retry"
+msgstr ""
+
+#: ipalib/plugins/dns.py:325
+msgid "SOA record retry time"
+msgstr ""
+
+#: ipalib/plugins/dns.py:332
+msgid "SOA expire"
+msgstr ""
+
+#: ipalib/plugins/dns.py:333
+msgid "SOA record expire time"
+msgstr ""
+
+#: ipalib/plugins/dns.py:340
+msgid "SOA minimum"
+msgstr ""
+
+#: ipalib/plugins/dns.py:341
+msgid "How long should negative responses be cached"
+msgstr ""
+
+#: ipalib/plugins/dns.py:349
+msgid "SOA time to live"
+msgstr ""
+
+#: ipalib/plugins/dns.py:350
+msgid "SOA record time to live"
+msgstr ""
+
+#: ipalib/plugins/dns.py:354
+msgid "SOA class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:355
+msgid "SOA record class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:360 ipalib/plugins/dns.py:361
+msgid "BIND update policy"
+msgstr ""
+
+#: ipalib/plugins/dns.py:365
+msgid "Active zone"
+msgstr ""
+
+#: ipalib/plugins/dns.py:366
+msgid "Is zone active?"
+msgstr ""
+
+#: ipalib/plugins/dns.py:372
+msgid "Dynamic update"
+msgstr ""
+
+#: ipalib/plugins/dns.py:373
+msgid "Allow dynamic updates."
+msgstr ""
+
+#: ipalib/plugins/dns.py:382
+msgid ""
+"\n"
+" Create new DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:387 ipalib/plugins/dns.py:697
+#: ipalib/plugins/host.py:315 ipalib/plugins/service.py:250
+msgid "Force"
+msgstr ""
+
+#: ipalib/plugins/dns.py:388
+msgid "Force DNS zone creation even if nameserver not in DNS."
+msgstr ""
+
+#: ipalib/plugins/dns.py:391
+msgid "Add the nameserver to DNS with this IP address"
+msgstr ""
+
+#: ipalib/plugins/dns.py:397
+msgid "DNS is not configured"
+msgstr ""
+
+#: ipalib/plugins/dns.py:431
+msgid ""
+"\n"
+" Delete DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:439
+msgid ""
+"\n"
+" Modify DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:452
+msgid ""
+"\n"
+" Search for DNS zones (SOA records).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:460
+msgid ""
+"\n"
+" Display information about a DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:468
+msgid ""
+"\n"
+" Disable DNS Zone.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:472
+msgid "Disabled DNS zone \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/dns.py:490
+msgid ""
+"\n"
+" Enable DNS Zone.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:494
+msgid "Enabled DNS zone \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/dns.py:512
+msgid ""
+"\n"
+" DNS record.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:522
+msgid "DNS resource record"
+msgstr ""
+
+#: ipalib/plugins/dns.py:527 ipalib/plugins/dns.py:528
+msgid "Record name"
+msgstr ""
+
+#: ipalib/plugins/dns.py:533 ipalib/plugins/dns.py:534
+msgid "Time to live"
+msgstr ""
+
+#: ipalib/plugins/dns.py:538
+msgid "Class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:539
+msgid "DNS class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:566
+msgid ""
+"\n"
+" Base class for DNS record commands with record options.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:610
+msgid ""
+"\n"
+" Base class for adding/removing records from DNS resource entries.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:674
+msgid ""
+"\n"
+" Add records to DNS resource.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:690
+msgid ""
+"\n"
+" Add new DNS resource record.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:699
+msgid "force NS record creation even if its hostname is not in DNS"
+msgstr ""
+
+#: ipalib/plugins/dns.py:735
+msgid ""
+"Reverse zone for PTR record should be a sub-zone of one the following fully "
+"qualified domains: %s"
+msgstr ""
+
+#: ipalib/plugins/dns.py:740
+msgid "Reverse zone %s requires exactly %d IP address components, %d given"
+msgstr ""
+
+#: ipalib/plugins/dns.py:746
+msgid "PTR record '%s' is not fully qualified (check traling '.')"
+msgstr ""
+
+#: ipalib/plugins/dns.py:789
+msgid ""
+"\n"
+" Delete DNS record entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:792
+msgid "Deleted record \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/dns.py:799
+msgid ""
+"\n"
+" Delete DNS resource record.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:802
+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:807
+msgid "Delete all associated records"
+msgstr ""
+
+#: ipalib/plugins/dns.py:834
+msgid "No option to delete specific record provided."
+msgstr ""
+
+#: ipalib/plugins/dns.py:835
+msgid "Delete all?"
+msgstr ""
+
+#: ipalib/plugins/dns.py:845
+msgid "Current DNS record contents:\n"
+msgstr ""
+
+#: ipalib/plugins/dns.py:875
+msgid "%s record with value %s not found"
+msgstr ""
+
+#: ipalib/plugins/dns.py:889
+msgid ""
+"\n"
+" Display DNS resource.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:905
+msgid ""
+"\n"
+" Search for DNS resources.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:932
+msgid ""
+"\n"
+" Resolve a host name in DNS\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:936
+msgid "Found '%(value)s'"
+msgstr ""
+
+#: ipalib/plugins/dns.py:940
+msgid "Hostname"
+msgstr ""
+
+#: ipalib/plugins/dns.py:962
+msgid "Host '%(host)s' not found"
+msgstr ""
+
+#: ipalib/plugins/dns.py:970
+msgid ""
+"\n"
+" Checks if any of the servers has the DNS service enabled.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:19
+msgid ""
+"\n"
+"Entitlements\n"
+"\n"
+"Manage entitlements for client machines\n"
+"\n"
+"Entitlements can be managed either by registering with an entitlement\n"
+"server with a username and password or by manually importing entitlement\n"
+"certificates. An entitlement certificate contains embedded information\n"
+"such as the product being entitled, the quantity and the validity dates.\n"
+"\n"
+"An entitlement server manages the number of client entitlements available.\n"
+"To mark these entitlements as used by the IPA server you provide a quantity\n"
+"and they are marked as consumed on the entitlement server.\n"
+"\n"
+" Register with an entitlement server:\n"
+" ipa entitle-register consumer\n"
+"\n"
+" Import an entitlement certificate:\n"
+" ipa entitle-import /home/user/ipaclient.pem\n"
+"\n"
+" Display current entitlements:\n"
+" ipa entitle-status\n"
+"\n"
+" Retrieve details on entitlement certificates:\n"
+" ipa entitle-get\n"
+"\n"
+" Consume some entitlements from the entitlement server:\n"
+" ipa entitle-consume 50\n"
+"\n"
+"The registration ID is a Unique Identifier (UUID). This ID will be\n"
+"IMPORTED if you have used entitle-import.\n"
+"\n"
+"Changes to /etc/rhsm/rhsm.conf require a restart of the httpd service.\n"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:106
+msgid ""
+"\n"
+" Get our entitlement pool. Assume there is only one pool.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:129
+msgid ""
+"\n"
+" Retrieve our UUID, certificate and key from LDAP.\n"
+"\n"
+" Except on error the caller is responsible for removing temporary files\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:178
+msgid ""
+"\n"
+" Entitlement object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:189
+msgid "Entitlements"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:206
+msgid ""
+"\n"
+" Display current entitlements\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:214 ipalib/plugins/entitle.py:602
+msgid "UUID"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:217 ipalib/plugins/entitle.py:306
+#: ipalib/plugins/entitle.py:388 ipalib/plugins/entitle.py:575
+#: ipalib/plugins/entitle.py:690
+msgid "Product"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:220 ipalib/plugins/entitle.py:286
+#: ipalib/plugins/entitle.py:296 ipalib/plugins/entitle.py:391
+#: ipalib/plugins/entitle.py:578 ipalib/plugins/entitle.py:680
+msgid "Quantity"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:223 ipalib/plugins/entitle.py:309
+#: ipalib/plugins/entitle.py:581 ipalib/plugins/entitle.py:693
+msgid "Consumed"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:276
+msgid ""
+"\n"
+" Consume an entitlement\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:282
+msgid "Consumed %(value)s entitlement(s)."
+msgstr ""
+
+#: ipalib/plugins/entitle.py:314
+msgid ""
+"\n"
+" Override this so we can set value to the number of entitlements\n"
+" consumed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:362 ipalib/plugins/entitle.py:724
+msgid ""
+"\n"
+" Returning the certificates isn't very interesting. Return the\n"
+" status of entitlements instead.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:380
+msgid ""
+"\n"
+" Retrieve the entitlement certs\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:394
+msgid "Start"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:397
+msgid "End"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:400 ipalib/plugins/host.py:162
+#: ipalib/plugins/internal.py:132 ipalib/plugins/service.py:96
+msgid "Serial Number"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:435 ipalib/plugins/entitle.py:626
+#: ipalib/plugins/entitle.py:628
+msgid "Not an entitlement certificate"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:460
+msgid ""
+"\n"
+" Search for entitlement accounts.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:473
+msgid ""
+"\n"
+" Register to the entitlement system\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:479
+msgid "Registered to entitlement server."
+msgstr ""
+
+#: ipalib/plugins/entitle.py:483
+msgid "Username"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:490 ipalib/plugins/entitle.py:603
+msgid "Enrollment UUID"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:494 ipalib/plugins/migration.py:271
+#: ipalib/plugins/passwd.py:59 ipalib/plugins/user.py:172
+msgid "Password"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:495
+msgid "Registration password"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:569
+msgid ""
+"\n"
+" Import an entitlement certificate.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:646
+msgid ""
+"\n"
+" If we are adding the first entry there are no updates so EmptyModlist\n"
+" will get thrown. Ignore it.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:667
+msgid ""
+"\n"
+" Re-sync the local entitlement cache with the entitlement server\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:673
+msgid "Entitlement(s) synchronized."
+msgstr ""
+
+#: ipalib/plugins/group.py:20
+msgid ""
+"\n"
+"Groups of users\n"
+"\n"
+"Manage groups of users. By default, new groups are POSIX groups. You\n"
+"can add the --nonposix option to the group-add command to mark a new group\n"
+"as non-POSIX, and you can use the same argument to the group-mod command\n"
+"to convert a non-POSIX group to a POSIX group. POSIX groups cannot be\n"
+"converted to non-POSIX groups.\n"
+"\n"
+"Every group must have a description.\n"
+"\n"
+"POSIX groups must have a Group ID (GID) number. Changing a GID is\n"
+"supported but can have an impact on your file permissions. It is not necessary\n"
+"to supply a GID when creating a group. IPA will generate one automatically\n"
+"if it is not provided.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new group:\n"
+" ipa group-add --desc='local administrators' localadmins\n"
+"\n"
+" Add a new non-POSIX group:\n"
+" ipa group-add --nonposix --desc='remote administrators' remoteadmins\n"
+"\n"
+" Convert a non-POSIX group to posix:\n"
+" ipa group-mod --posix remoteadmins\n"
+"\n"
+" Add a new POSIX group with a specific Group ID number:\n"
+" ipa group-add --gid=500 --desc='unix admins' unixadmins\n"
+"\n"
+" Add a new POSIX group and let IPA assign a Group ID number:\n"
+" ipa group-add --desc='printer admins' printeradmins\n"
+"\n"
+" Remove a group:\n"
+" ipa group-del unixadmins\n"
+"\n"
+" To add the \"remoteadmins\" group to the \"localadmins\" group:\n"
+" ipa group-add-member --groups=remoteadmins localadmins\n"
+"\n"
+" Add a list of users to the \"localadmins\" group:\n"
+" ipa group-add-member --users=test1,test2 localadmins\n"
+"\n"
+" Remove a user from the \"localadmins\" group:\n"
+" ipa group-remove-member --users=test2 localadmins\n"
+"\n"
+" Display information about a named group.\n"
+" ipa group-show localadmins\n"
+msgstr ""
+
+#: ipalib/plugins/group.py:76
+msgid ""
+"\n"
+" Group object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:100
+msgid "User Groups"
+msgstr ""
+
+#: ipalib/plugins/group.py:108
+msgid "Group name"
+msgstr ""
+
+#: ipalib/plugins/group.py:115 ipalib/plugins/sudocmdgroup.py:77
+msgid "Group description"
+msgstr ""
+
+#: ipalib/plugins/group.py:119 ipalib/plugins/user.py:187
+msgid "GID"
+msgstr ""
+
+#: ipalib/plugins/group.py:120
+msgid "GID (use this option to set it manually)"
+msgstr ""
+
+#: ipalib/plugins/group.py:128
+msgid ""
+"\n"
+" Create a new group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:132
+msgid "Added group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:137
+msgid "Create as a non-POSIX group"
+msgstr ""
+
+#: ipalib/plugins/group.py:154
+msgid ""
+"\n"
+" Delete group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:158
+msgid "Deleted group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:186
+msgid ""
+"\n"
+" Modify a group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:189
+msgid "Modified group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:194
+msgid "change to a POSIX group"
+msgstr ""
+
+#: ipalib/plugins/group.py:215
+msgid ""
+"\n"
+" Search for groups.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:220
+msgid "%(count)d group matched"
+msgid_plural "%(count)d groups matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/group.py:227 ipalib/plugins/netgroup.py:192
+msgid "search for private groups"
+msgstr ""
+
+#: ipalib/plugins/group.py:257
+msgid ""
+"\n"
+" Display information about a named group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:265
+msgid ""
+"\n"
+" Add members to a group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:273
+msgid ""
+"\n"
+" Remove members from a group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:281
+msgid ""
+"\n"
+" Detach a managed group from a user\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:285
+msgid "Detached group \"%(value)s\" from user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:288
+msgid ""
+"\n"
+" This requires updating both the user and the group. We first need to\n"
+" verify that both the user and group can be updated, then we go\n"
+" about our work. We don't want a situation where only the user or\n"
+" group can be modified and we're left in a bad state.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:306
+msgid "not allowed to modify user entries"
+msgstr ""
+
+#: ipalib/plugins/group.py:312
+msgid "not allowed to modify group entries"
+msgstr ""
+
+#: ipalib/plugins/group.py:331
+msgid "Not a managed group"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:19
+msgid ""
+"\n"
+"Host-based access control\n"
+"\n"
+"Control who can access what services on what hosts and from where. You\n"
+"can use HBAC to control which users or groups on a source host can\n"
+"access a service, or group of services, on a target host.\n"
+"\n"
+"You can also specify a category of users, target hosts, and source\n"
+"hosts. This is currently limited to \"all\", but might be expanded in the\n"
+"future.\n"
+"\n"
+"Target hosts and source hosts in HBAC rules must be hosts managed by IPA.\n"
+"\n"
+"The available services and groups of services are controlled by the\n"
+"hbacsvc and hbacsvcgroup plug-ins respectively.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Create a rule, \"test1\", that grants all users access to the host \"server\" from\n"
+" anywhere:\n"
+" ipa hbacrule-add --type=allow --usercat=all --srchostcat=all test1\n"
+" ipa hbacrule-add-host --hosts=server.example.com test1\n"
+"\n"
+" Display the properties of a named HBAC rule:\n"
+" ipa hbacrule-show test1\n"
+"\n"
+" Create a rule for a specific service. This lets the user john access\n"
+" the sshd service on any machine from any machine:\n"
+" ipa hbacrule-add --type=allow --hostcat=all --srchostcat=all john_sshd\n"
+" ipa hbacrule-add-user --users=john john_sshd\n"
+" ipa hbacrule-add-service --hbacsvcs=sshd john_sshd\n"
+"\n"
+" Create a rule for a new service group. This lets the user john access\n"
+" the FTP service on any machine from any machine:\n"
+" ipa hbacsvcgroup-add ftpers\n"
+" ipa hbacsvc-add sftp\n"
+" ipa hbacsvcgroup-add-member --hbacsvcs=ftp,sftp ftpers\n"
+" ipa hbacrule-add --type=allow --hostcat=all --srchostcat=all john_ftp\n"
+" ipa hbacrule-add-user --users=john john_ftp\n"
+" ipa hbacrule-add-service --hbacsvcgroups=ftpers john_ftp\n"
+"\n"
+" Disable a named HBAC rule:\n"
+" ipa hbacrule-disable test1\n"
+"\n"
+" Remove a named HBAC rule:\n"
+" ipa hbacrule-del allow_server\n"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:91
+msgid ""
+"\n"
+" See if options[attribute] is lower-case 'all' in a safe way.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:103
+msgid ""
+"\n"
+" HBAC object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:126
+msgid "HBAC Rule"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:131 ipalib/plugins/sudorule.py:73
+msgid "Rule name"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:136
+msgid "Rule type (allow or deny)"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:137
+msgid "Rule type"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:143 ipalib/plugins/netgroup.py:124
+#: ipalib/plugins/sudorule.py:86
+msgid "User category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:144 ipalib/plugins/netgroup.py:125
+#: ipalib/plugins/sudorule.py:87
+msgid "User category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:149 ipalib/plugins/netgroup.py:130
+#: ipalib/plugins/sudorule.py:92
+msgid "Host category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:150 ipalib/plugins/netgroup.py:131
+#: ipalib/plugins/sudorule.py:93
+msgid "Host category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:155
+msgid "Source host category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:156
+msgid "Source host category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:161
+msgid "Service category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:162
+msgid "Service category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:174 ipalib/plugins/sudorule.py:81
+msgid "Enabled"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:178 ipalib/plugins/sudorule.py:115
+#: ipalib/plugins/user.py:108
+msgid "Users"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:182 ipalib/plugins/internal.py:272
+#: ipalib/plugins/sudorule.py:119
+msgid "Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:186 ipalib/plugins/host.py:226
+#: ipalib/plugins/sudorule.py:123
+msgid "Hosts"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:190 ipalib/plugins/hostgroup.py:73
+#: ipalib/plugins/sudorule.py:127
+msgid "Host Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:194
+msgid "Source hosts"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:198
+msgid "Source host groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:202 ipalib/plugins/internal.py:196
+#: ipalib/plugins/service.py:220
+msgid "Services"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:206
+msgid "Service Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:215
+msgid ""
+"\n"
+" Create a new HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:219
+msgid "Added HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:230
+msgid ""
+"\n"
+" Delete an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:234
+msgid "Deleted HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:240
+msgid ""
+"\n"
+" Modify an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:244
+msgid "Modified HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:266
+msgid ""
+"\n"
+" Search for HBAC rules.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:270
+msgid "%(count)d HBAC rule matched"
+msgid_plural "%(count)d HBAC rules matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/hbacrule.py:278
+msgid ""
+"\n"
+" Display the properties of an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:286
+msgid ""
+"\n"
+" Enable an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:290
+msgid "Enabled HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:315
+msgid ""
+"\n"
+" Disable an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:319
+msgid "Disabled HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:344
+msgid ""
+"\n"
+" Add an access time to an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:351 ipalib/plugins/hbacrule.py:391
+msgid "Access time"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:385
+msgid ""
+"\n"
+" Remove access time to HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:425
+msgid ""
+"\n"
+" Add users and groups to an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:442
+msgid ""
+"\n"
+" Remove users and groups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:452
+msgid ""
+"\n"
+" Add target hosts and hostgroups to an HBAC rule\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:469
+msgid ""
+"\n"
+" Remove target hosts and hostgroups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:479
+msgid ""
+"\n"
+" Add source hosts and hostgroups from a HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:496
+msgid ""
+"\n"
+" Remove source hosts and hostgroups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:506
+msgid ""
+"\n"
+" Add services to an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:523
+msgid ""
+"\n"
+" Remove service and service groups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:19
+msgid ""
+"\n"
+"HBAC Services\n"
+"\n"
+"The PAM services that HBAC can control access to. The name used here\n"
+"must match the service name that PAM is evaluating.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new HBAC service:\n"
+" ipa hbacsvc-add tftp\n"
+"\n"
+" Modify an existing HBAC service:\n"
+" ipa hbacsvc-mod --desc=\"TFTP service\" tftp\n"
+"\n"
+" Search for HBAC services. This example will return two results, the FTP\n"
+" service and the newly-added tftp service:\n"
+" ipa hbacsvc-find ftp\n"
+"\n"
+" Delete an HBAC service:\n"
+" ipa hbacsvc-del tftp\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:51
+msgid ""
+"\n"
+" HBAC Service object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:61
+msgid "HBAC Services"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:66
+msgid "Service name"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:67
+msgid "HBAC service"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:74
+msgid "HBAC service description"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:82
+msgid ""
+"\n"
+" Add a new HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:85
+msgid "Added HBAC service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:91
+msgid ""
+"\n"
+" Delete an existing HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:94
+msgid "Deleted HBAC service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:100
+msgid ""
+"\n"
+" Modify an HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:104
+msgid "Modified HBAC service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:110
+msgid ""
+"\n"
+" Search for HBAC services.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:114
+msgid "%(count)d HBAC service matched"
+msgid_plural "%(count)d HBAC services matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/hbacsvc.py:122
+msgid ""
+"\n"
+" Display information about an HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:19
+msgid ""
+"\n"
+"HBAC Service Groups\n"
+"\n"
+"HBAC service groups can contain any number of individual services,\n"
+"or \"members\". Every group must have a description.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new HBAC service group:\n"
+" ipa hbacsvcgroup-add --desc=\"login services\" login\n"
+"\n"
+" Add members to an HBAC service group:\n"
+" ipa hbacsvcgroup-add-member --hbacsvcs=sshd,login login\n"
+"\n"
+" Display information about a named group:\n"
+" ipa hbacsvcgroup-show login\n"
+"\n"
+" Add a new group to the \"login\" group:\n"
+" ipa hbacsvcgroup-add --desc=\"switch users\" login\n"
+" ipa hbacsvcgroup-add-member --hbacsvcs=su,su-l login\n"
+"\n"
+" Delete an HBAC service group:\n"
+" ipa hbacsvcgroup-del login\n"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:51
+msgid ""
+"\n"
+" HBAC service group object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:64
+msgid "HBAC service Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:69
+msgid "Service group name"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:76
+msgid "HBAC service group description"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:84
+msgid ""
+"\n"
+" Add a new HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:87
+msgid "Added HBAC service group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:93
+msgid ""
+"\n"
+" Delete an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:96
+msgid "Deleted HBAC service group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:102
+msgid ""
+"\n"
+" Modify an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:105
+msgid "Modified HBAC service group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:111
+msgid ""
+"\n"
+" Search for an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:114
+msgid "%(count)d HBAC service group matched"
+msgid_plural "%(count)d HBAC service groups matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/hbacsvcgroup.py:122
+msgid ""
+"\n"
+" Display information about an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:130
+msgid ""
+"\n"
+" Add members to an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:138
+msgid ""
+"\n"
+" Remove members from an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:20
+msgid ""
+"\n"
+"Hosts/Machines\n"
+"\n"
+"A host represents a machine. It can be used in a number of contexts:\n"
+"- service entries are associated with a host\n"
+"- a host stores the host/ service principal\n"
+"- a host can be used in Host-based Access Control (HBAC) rules\n"
+"- every enrolled client generates a host entry\n"
+"\n"
+"ENROLLMENT:\n"
+"\n"
+"There are three enrollment scenarios when enrolling a new client:\n"
+"\n"
+"1. You are enrolling as a full administrator. The host entry may exist\n"
+" or not. A full administrator is a member of the hostadmin role\n"
+" or the admins group.\n"
+"2. You are enrolling as a limited administrator. The host must already\n"
+" exist. A limited administrator is a member a role with the\n"
+" Host Enrollment privilege.\n"
+"3. The host has been created with a one-time password.\n"
+"\n"
+"A host can only be enrolled once. If a client has enrolled and needs to\n"
+"be re-enrolled, the host entry must be removed and re-created. Note that\n"
+"re-creating the host entry will result in all services for the host being\n"
+"removed, and all SSL certificates associated with those services being\n"
+"revoked.\n"
+"\n"
+"A host can optionally store information such as where it is located,\n"
+"the OS that it runs, etc.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new host:\n"
+" ipa host-add --location=\"3rd floor lab\" --locality=Dallas test.example.com\n"
+"\n"
+" Delete a host:\n"
+" ipa host-del test.example.com\n"
+"\n"
+" Add a new host with a one-time password:\n"
+" ipa host-add --os='Fedora 12' --password=Secret123 test.example.com\n"
+"\n"
+" Add a new host with a random one-time password:\n"
+" ipa host-add --os='Fedora 12' --random test.example.com\n"
+"\n"
+" Modify information about a host:\n"
+" ipa host-mod --os='Fedora 12' test.example.com\n"
+"\n"
+" Disable the host Kerberos key, SSL certificate and all of its services:\n"
+" ipa host-disable test.example.com\n"
+"\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:97
+msgid ""
+"\n"
+" Require at least one dot in the hostname (to support localhost.localdomain)\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:101
+msgid "Fully-qualified hostname required"
+msgstr ""
+
+#: ipalib/plugins/host.py:129
+msgid "DNS reverse zone for IP address %(addr)s not found"
+msgstr ""
+
+#: ipalib/plugins/host.py:153 ipalib/plugins/service.py:87
+msgid "Keytab"
+msgstr ""
+
+#: ipalib/plugins/host.py:185
+msgid ""
+"\n"
+" Verify that we have either an IPv4 or IPv6 address.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:189
+msgid "invalid IP address"
+msgstr ""
+
+#: ipalib/plugins/host.py:194
+msgid ""
+"\n"
+" Host object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:231
+msgid "Host name"
+msgstr ""
+
+#: ipalib/plugins/host.py:238
+msgid "A description of this host"
+msgstr ""
+
+#: ipalib/plugins/host.py:242
+msgid "Locality"
+msgstr ""
+
+#: ipalib/plugins/host.py:243
+msgid "Host locality (e.g. \"Baltimore, MD\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:248
+msgid "Host location (e.g. \"Lab 2\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:252
+msgid "Platform"
+msgstr ""
+
+#: ipalib/plugins/host.py:253
+msgid "Host hardware platform (e.g. \"Lenovo T61\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:257
+msgid "Operating system"
+msgstr ""
+
+#: ipalib/plugins/host.py:258
+msgid "Host operating system and version (e.g. \"Fedora 9\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:262
+msgid "User password"
+msgstr ""
+
+#: ipalib/plugins/host.py:263
+msgid "Password used in bulk enrollment"
+msgstr ""
+
+#: ipalib/plugins/host.py:266
+msgid "Generate a random password to be used in bulk enrollment"
+msgstr ""
+
+#: ipalib/plugins/host.py:271
+msgid "Random password"
+msgstr ""
+
+#: ipalib/plugins/host.py:277 ipalib/plugins/service.py:233
+msgid "Base-64 encoded server certificate"
+msgstr ""
+
+#: ipalib/plugins/host.py:280 ipalib/plugins/host.py:548
+msgid "Principal name"
+msgstr ""
+
+#: ipalib/plugins/host.py:306
+msgid ""
+"\n"
+" Add a new host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:311
+msgid "Added host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:316
+msgid "force host name even if not in DNS"
+msgstr ""
+
+#: ipalib/plugins/host.py:319
+msgid "skip reverse DNS detection"
+msgstr ""
+
+#: ipalib/plugins/host.py:322
+msgid "Add the host to DNS with this IP address"
+msgstr ""
+
+#: ipalib/plugins/host.py:338 ipalib/plugins/host.py:477
+msgid "DNS zone %(zone)s not found"
+msgstr ""
+
+#: ipalib/plugins/host.py:413
+msgid "The host was added but the DNS update failed with: %(exc)s"
+msgstr ""
+
+#: ipalib/plugins/host.py:422
+msgid ""
+"\n"
+" Delete a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:426
+msgid "Deleted host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:431
+msgid "Remove entries from DNS"
+msgstr ""
+
+#: ipalib/plugins/host.py:537
+msgid ""
+"\n"
+" Modify information about a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:542
+msgid "Modified host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:549
+msgid "Kerberos principal name for this host"
+msgstr ""
+
+#: ipalib/plugins/host.py:618
+msgid ""
+"\n"
+" Search for hosts.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:623
+msgid "%(count)d host matched"
+msgid_plural "%(count)d hosts matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/host.py:643
+msgid ""
+"\n"
+" Display information about a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:649 ipalib/plugins/service.py:400
+msgid "file to store certificate in"
+msgstr ""
+
+#: ipalib/plugins/host.py:673 ipalib/plugins/service.py:422
+msgid "Certificate stored in file '%(file)s'"
+msgstr ""
+
+#: ipalib/plugins/host.py:684
+msgid ""
+"\n"
+" Disable the Kerberos key, SSL certificate and all services of a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:688
+msgid "Disabled host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:770
+msgid ""
+"\n"
+" Add hosts that can manage this host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:781
+msgid ""
+"\n"
+" Remove hosts that can manage this host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:20
+msgid ""
+"\n"
+"Groups of hosts.\n"
+"\n"
+"Manage groups of hosts. This is useful for applying access control to a\n"
+"number of hosts by using Host-based Access Control.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new host group:\n"
+" ipa hostgroup-add --desc=\"Baltimore hosts\" baltimore\n"
+"\n"
+" Add another new host group:\n"
+" ipa hostgroup-add --desc=\"Maryland hosts\" maryland\n"
+"\n"
+" Add members to the hostgroup:\n"
+" ipa hostgroup-add-member --hosts=box1,box2,box3 baltimore\n"
+"\n"
+" Add a hostgroup as a member of another hostgroup:\n"
+" ipa hostgroup-add-member --hostgroups=baltimore maryland\n"
+"\n"
+" Remove a host from the hostgroup:\n"
+" ipa hostgroup-remove-member --hosts=box2 baltimore\n"
+"\n"
+" Display a host group:\n"
+" ipa hostgroup-show baltimore\n"
+"\n"
+" Delete a hostgroup:\n"
+" ipa hostgroup-del baltimore\n"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:55
+msgid ""
+"\n"
+" Hostgroup object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:78
+msgid "Host-group"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:79
+msgid "Name of host-group"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:86
+msgid "A description of this host-group"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:94
+msgid ""
+"\n"
+" Add a new hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:98
+msgid "Added hostgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:104
+msgid ""
+"\n"
+" Delete a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:108
+msgid "Deleted hostgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:114
+msgid ""
+"\n"
+" Modify a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:118
+msgid "Modified hostgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:124
+msgid ""
+"\n"
+" Search for hostgroups.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:128
+msgid "%(count)d hostgroup matched"
+msgid_plural "%(count)d hostgroups matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/hostgroup.py:136
+msgid ""
+"\n"
+" Display information about a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:144
+msgid ""
+"\n"
+" Add members to a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:152
+msgid ""
+"\n"
+" Remove members from a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/internal.py:22
+msgid ""
+"\n"
+"Plugins not accessible directly through the CLI, commands used internally\n"
+msgstr ""
+
+#: ipalib/plugins/internal.py:36
+msgid ""
+"\n"
+" Export plugin meta-data for the webUI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/internal.py:44
+msgid "Name of object to export"
+msgstr ""
+
+#: ipalib/plugins/internal.py:47
+msgid "Name of method to export"
+msgstr ""
+
+#: ipalib/plugins/internal.py:52
+msgid "Dict of JSON encoded IPA Objects"
+msgstr ""
+
+#: ipalib/plugins/internal.py:53
+msgid "Dict of JSON encoded IPA Methods"
+msgstr ""
+
+#: ipalib/plugins/internal.py:96
+msgid "Logged In As"
+msgstr ""
+
+#: ipalib/plugins/internal.py:99
+msgid "Attribute"
+msgstr ""
+
+#: ipalib/plugins/internal.py:102
+msgid "Add Automount Location"
+msgstr ""
+
+#: ipalib/plugins/internal.py:103
+msgid "Automount Location Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:106
+msgid "Add Automount Map"
+msgstr ""
+
+#: ipalib/plugins/internal.py:109
+msgid "Add Automount Key"
+msgstr ""
+
+#: ipalib/plugins/internal.py:112
+msgid "Unspecified"
+msgstr ""
+
+#: ipalib/plugins/internal.py:113
+msgid "Key Compromise"
+msgstr ""
+
+#: ipalib/plugins/internal.py:114
+msgid "CA Compromise"
+msgstr ""
+
+#: ipalib/plugins/internal.py:115
+msgid "Affiliation Changed"
+msgstr ""
+
+#: ipalib/plugins/internal.py:116
+msgid "Superseded"
+msgstr ""
+
+#: ipalib/plugins/internal.py:117
+msgid "Cessation of Operation"
+msgstr ""
+
+#: ipalib/plugins/internal.py:118
+msgid "Certificate Hold"
+msgstr ""
+
+#: ipalib/plugins/internal.py:119
+msgid "Remove from CRL"
+msgstr ""
+
+#: ipalib/plugins/internal.py:120
+msgid "Privilege Withdrawn"
+msgstr ""
+
+#: ipalib/plugins/internal.py:121
+msgid "AA Compromise"
+msgstr ""
+
+#: ipalib/plugins/internal.py:122
+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:124
+msgid "Note"
+msgstr ""
+
+#: ipalib/plugins/internal.py:125
+msgid "Reason for Revocation"
+msgstr ""
+
+#: ipalib/plugins/internal.py:126
+msgid ""
+"To confirm your intention to restore this certificate, click the \"Restore\""
+" button."
+msgstr ""
+
+#: ipalib/plugins/internal.py:128
+msgid "Issued To"
+msgstr ""
+
+#: ipalib/plugins/internal.py:129
+msgid "Common Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:130
+msgid "Organization"
+msgstr ""
+
+#: ipalib/plugins/internal.py:131
+msgid "Organizational Unit"
+msgstr ""
+
+#: ipalib/plugins/internal.py:133
+msgid "Issued By"
+msgstr ""
+
+#: ipalib/plugins/internal.py:134
+msgid "Validity"
+msgstr ""
+
+#: ipalib/plugins/internal.py:135
+msgid "Issued On"
+msgstr ""
+
+#: ipalib/plugins/internal.py:136
+msgid "Expires On"
+msgstr ""
+
+#: ipalib/plugins/internal.py:137
+msgid "Fingerprints"
+msgstr ""
+
+#: ipalib/plugins/internal.py:138
+msgid "SHA1 Fingerprint"
+msgstr ""
+
+#: ipalib/plugins/internal.py:139
+msgid "MD5 Fingerprint"
+msgstr ""
+
+#: ipalib/plugins/internal.py:140
+msgid "Enter the Base64-encoded CSR below"
+msgstr ""
+
+#: ipalib/plugins/internal.py:141
+msgid "Valid Certificate Present"
+msgstr ""
+
+#: ipalib/plugins/internal.py:142
+msgid "New Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:143
+msgid "Certificate Revoked"
+msgstr ""
+
+#: ipalib/plugins/internal.py:144
+msgid "No Valid Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:145
+msgid "Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:146
+msgid "Issue New Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:147
+msgid "Revoke Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:148
+msgid "Restore Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:152
+msgid "Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:155
+msgid "Add Delegation"
+msgstr ""
+
+#: ipalib/plugins/internal.py:158
+msgid "Add DNS Zone"
+msgstr ""
+
+#: ipalib/plugins/internal.py:159
+msgid "DNS Zone Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:162
+msgid "Add DNS Resource Record"
+msgstr ""
+
+#: ipalib/plugins/internal.py:163
+msgid "Resource"
+msgstr ""
+
+#: ipalib/plugins/internal.py:165
+msgid "Data"
+msgstr ""
+
+#: ipalib/plugins/internal.py:166
+msgid "Records for DNS Zone"
+msgstr ""
+
+#: ipalib/plugins/internal.py:169
+msgid "Add Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:170
+msgid "Group Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:171 ipalib/plugins/internal.py:206
+msgid "Is this a POSIX group?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:174
+msgid "Add HBAC Rule"
+msgstr ""
+
+#: ipalib/plugins/internal.py:175 ipalib/plugins/internal.py:280
+#: ipalib/plugins/internal.py:306
+msgid "Active"
+msgstr ""
+
+#: ipalib/plugins/internal.py:176 ipalib/plugins/internal.py:282
+msgid "Allow"
+msgstr ""
+
+#: ipalib/plugins/internal.py:177 ipalib/plugins/internal.py:283
+msgid "Deny"
+msgstr ""
+
+#: ipalib/plugins/internal.py:178 ipalib/plugins/internal.py:281
+#: ipalib/plugins/internal.py:308
+msgid "Inactive"
+msgstr ""
+
+#: ipalib/plugins/internal.py:179 ipalib/plugins/internal.py:296
+msgid "Rule status"
+msgstr ""
+
+#: ipalib/plugins/internal.py:180 ipalib/plugins/internal.py:284
+msgid "Who"
+msgstr ""
+
+#: ipalib/plugins/internal.py:181 ipalib/plugins/internal.py:285
+msgid "Anyone"
+msgstr ""
+
+#: ipalib/plugins/internal.py:182 ipalib/plugins/internal.py:286
+msgid "Specified Users and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:183
+msgid "Accessing"
+msgstr ""
+
+#: ipalib/plugins/internal.py:184 ipalib/plugins/internal.py:288
+msgid "Any Host"
+msgstr ""
+
+#: ipalib/plugins/internal.py:185 ipalib/plugins/internal.py:289
+msgid "Specified Hosts and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:186
+msgid "Via Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:187
+msgid "Any Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:188
+msgid "Specified Services and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:189
+msgid "From"
+msgstr ""
+
+#: ipalib/plugins/internal.py:192
+msgid "Add HBAC Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:195
+msgid "Add HBAC Service Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:199
+msgid "Add Host"
+msgstr ""
+
+#: ipalib/plugins/internal.py:200
+msgid "Host Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:201 ipalib/plugins/internal.py:259
+msgid "Host Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:202
+msgid "Host Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:203
+msgid "Enrolled?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:204
+msgid "Enrollment"
+msgstr ""
+
+#: ipalib/plugins/internal.py:205
+msgid "Fully Qualified Host Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:207 ipalib/plugins/internal.py:262
+msgid "Status"
+msgstr ""
+
+#: ipalib/plugins/internal.py:208
+msgid "Kerberos Key Present, Host Provisioned"
+msgstr ""
+
+#: ipalib/plugins/internal.py:209 ipalib/plugins/internal.py:264
+msgid "Delete Key, Unprovision"
+msgstr ""
+
+#: ipalib/plugins/internal.py:210 ipalib/plugins/internal.py:265
+msgid "Kerberos Key Not Present"
+msgstr ""
+
+#: ipalib/plugins/internal.py:211
+msgid "Enroll via One-Time-Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:212
+msgid "Set OTP"
+msgstr ""
+
+#: ipalib/plugins/internal.py:213
+msgid "One-Time-Password has been set."
+msgstr ""
+
+#: ipalib/plugins/internal.py:214 ipalib/plugins/internal.py:266
+msgid "Unprovisioning ${entity}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:215
+msgid "Are you sure you want to unprovision this host?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:216 ipalib/plugins/internal.py:268
+msgid "Unprovision"
+msgstr ""
+
+#: ipalib/plugins/internal.py:219
+msgid "Add Host Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:220
+msgid "Host Group Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:223
+msgid "Kerberos ticket policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:226
+msgid "Add Netgroup"
+msgstr ""
+
+#: ipalib/plugins/internal.py:227
+msgid "Netgroup Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:230
+msgid "Add Permission"
+msgstr ""
+
+#: ipalib/plugins/internal.py:231 ipalib/plugins/internal.py:376
+msgid "Identity"
+msgstr ""
+
+#: ipalib/plugins/internal.py:233
+msgid "Target"
+msgstr ""
+
+#: ipalib/plugins/internal.py:235
+msgid "By Subtree"
+msgstr ""
+
+#: ipalib/plugins/internal.py:236
+msgid "Target Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:237
+msgid "Object By Type"
+msgstr ""
+
+#: ipalib/plugins/internal.py:238
+msgid "Permission with invalid target specification"
+msgstr ""
+
+#: ipalib/plugins/internal.py:241
+msgid "Add Privilege"
+msgstr ""
+
+#: ipalib/plugins/internal.py:242
+msgid "Privilege Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:245
+msgid "Add Password Policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:246 ipalib/plugins/pwpolicy.py:219
+msgid "Password Policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:249
+msgid "Add Role"
+msgstr ""
+
+#: ipalib/plugins/internal.py:250
+msgid "Role Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:253
+msgid "Add Self Service Definition"
+msgstr ""
+
+#: ipalib/plugins/internal.py:256
+msgid "Add Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:257
+msgid "Service Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:258
+msgid "Service Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:260
+msgid "Provisioning"
+msgstr ""
+
+#: ipalib/plugins/internal.py:261
+msgid "Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:263
+msgid "Kerberos Key Present, Service Provisioned"
+msgstr ""
+
+#: ipalib/plugins/internal.py:267
+msgid "Are you sure you want to unprovision this service?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:271
+msgid "Add Sudo Command"
+msgstr ""
+
+#: ipalib/plugins/internal.py:275
+msgid "Add Sudo Command Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:276 ipalib/plugins/sudocmdgroup.py:80
+msgid "Commands"
+msgstr ""
+
+#: ipalib/plugins/internal.py:279
+msgid "Add Sudo Rule"
+msgstr ""
+
+#: ipalib/plugins/internal.py:287
+msgid "Access this host"
+msgstr ""
+
+#: ipalib/plugins/internal.py:290
+msgid "Run Commands"
+msgstr ""
+
+#: ipalib/plugins/internal.py:291
+msgid "Any Command"
+msgstr ""
+
+#: ipalib/plugins/internal.py:292
+msgid "Specified Commands and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:293
+msgid "As Whom"
+msgstr ""
+
+#: ipalib/plugins/internal.py:294
+msgid "Any Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:295
+msgid "Specified Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:297
+msgid "External"
+msgstr ""
+
+#: ipalib/plugins/internal.py:300
+msgid "Add User"
+msgstr ""
+
+#: ipalib/plugins/internal.py:301
+msgid "Account Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:302
+msgid "Contact Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:303
+msgid "Mailing Address"
+msgstr ""
+
+#: ipalib/plugins/internal.py:304
+msgid "Employee Information"
+msgstr ""
+
+#: ipalib/plugins/internal.py:305
+msgid "Misc. Information"
+msgstr ""
+
+#: ipalib/plugins/internal.py:307
+msgid "Click to Deactivate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:309
+msgid "Click to Activate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:310
+msgid "Error changing account status"
+msgstr ""
+
+#: ipalib/plugins/internal.py:311
+msgid "Reset Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:312
+msgid "New Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:313
+msgid "Repeat Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:314
+msgid "Password change complete"
+msgstr ""
+
+#: ipalib/plugins/internal.py:315
+msgid "Passwords must match"
+msgstr ""
+
+#: ipalib/plugins/internal.py:319
+msgid "Add"
+msgstr ""
+
+#: ipalib/plugins/internal.py:320
+msgid "Add and Add Another"
+msgstr ""
+
+#: ipalib/plugins/internal.py:321
+msgid "Add and Edit"
+msgstr ""
+
+#: ipalib/plugins/internal.py:322
+msgid "Add and Close"
+msgstr ""
+
+#: ipalib/plugins/internal.py:323
+msgid "Add Many"
+msgstr ""
+
+#: ipalib/plugins/internal.py:324
+msgid "Back to List"
+msgstr ""
+
+#: ipalib/plugins/internal.py:325
+msgid "Cancel"
+msgstr ""
+
+#: ipalib/plugins/internal.py:326
+msgid "Close"
+msgstr ""
+
+#: ipalib/plugins/internal.py:327
+msgid "Enroll"
+msgstr ""
+
+#: ipalib/plugins/internal.py:328
+msgid "Find"
+msgstr ""
+
+#: ipalib/plugins/internal.py:329
+msgid "Get"
+msgstr ""
+
+#: ipalib/plugins/internal.py:330
+msgid "Issue"
+msgstr ""
+
+#: ipalib/plugins/internal.py:331
+msgid "OK"
+msgstr ""
+
+#: ipalib/plugins/internal.py:332
+msgid "Reset"
+msgstr ""
+
+#: ipalib/plugins/internal.py:333
+msgid "Delete"
+msgstr ""
+
+#: ipalib/plugins/internal.py:334
+msgid "Restore"
+msgstr ""
+
+#: ipalib/plugins/internal.py:335
+msgid "Retry"
+msgstr ""
+
+#: ipalib/plugins/internal.py:336
+msgid "Revoke"
+msgstr ""
+
+#: ipalib/plugins/internal.py:337
+msgid "Update"
+msgstr ""
+
+#: ipalib/plugins/internal.py:338
+msgid "View"
+msgstr ""
+
+#: ipalib/plugins/internal.py:341
+msgid "Available"
+msgstr ""
+
+#: ipalib/plugins/internal.py:342
+msgid "This page has unsaved changes. Please save or revert."
+msgstr ""
+
+#: ipalib/plugins/internal.py:343
+msgid "Dirty"
+msgstr ""
+
+#: ipalib/plugins/internal.py:344
+msgid "Hide already enrolled."
+msgstr ""
+
+#: ipalib/plugins/internal.py:345
+msgid "Select ${entity} to be removed."
+msgstr ""
+
+#: ipalib/plugins/internal.py:346
+msgid "Remove ${entity}."
+msgstr ""
+
+#: ipalib/plugins/internal.py:347
+msgid "Prospective"
+msgstr ""
+
+#: ipalib/plugins/internal.py:350
+msgid "Managed by"
+msgstr ""
+
+#: ipalib/plugins/internal.py:351
+msgid "Member"
+msgstr ""
+
+#: ipalib/plugins/internal.py:352
+msgid "Indirect Member"
+msgstr ""
+
+#: ipalib/plugins/internal.py:353
+msgid "Member Of"
+msgstr ""
+
+#: ipalib/plugins/internal.py:354
+msgid "Indirect Member Of"
+msgstr ""
+
+#: ipalib/plugins/internal.py:355 ipalib/plugins/internal.py:359
+msgid "Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:358
+msgid "Search"
+msgstr ""
+
+#: ipalib/plugins/internal.py:362
+msgid "Quick Links"
+msgstr ""
+
+#: ipalib/plugins/internal.py:363
+msgid "Select All"
+msgstr ""
+
+#: ipalib/plugins/internal.py:364
+msgid "Unselect All"
+msgstr ""
+
+#: ipalib/plugins/internal.py:365
+msgid "Are you sure you want to delete selected entries?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:366
+msgid ""
+"Query returned more results than the configured size limit. Displaying the "
+"first ${counter} results."
+msgstr ""
+
+#: ipalib/plugins/internal.py:370
+msgid "General"
+msgstr ""
+
+#: ipalib/plugins/internal.py:371
+msgid "Identity Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:372
+msgid "${entity} ${primary_key} Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:373
+msgid "Back to Top"
+msgstr ""
+
+#: ipalib/plugins/internal.py:377
+msgid "Policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:378
+msgid "Audit"
+msgstr ""
+
+#: ipalib/plugins/internal.py:379
+msgid "IPA Server"
+msgstr ""
+
+#: ipalib/plugins/internal.py:380
+msgid "Sudo"
+msgstr ""
+
+#: ipalib/plugins/internal.py:381
+msgid "Host Based Access Control"
+msgstr ""
+
+#: ipalib/plugins/internal.py:382
+msgid "Role Based Access Control"
+msgstr ""
+
+#: ipalib/plugins/internal.py:383
+msgid "Automount"
+msgstr ""
+
+#: ipalib/plugins/internal.py:386
+msgid "Add ${other_entity} into ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:387
+msgid "${other_entity} enrolled in ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:388
+msgid "${entity} ${primary_key} is enrolled in the following ${other_entity}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:389
+msgid "Remove ${other_entity} from ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:392
+msgid "Text does not match field pattern"
+msgstr ""
+
+#: ipalib/plugins/internal.py:395
+msgid ""
+"Your Kerberos ticket is no longer valid. Please run kinit and then click "
+"'Retry'. If this is your first time running the IPA Web UI <a "
+"href='/ipa/config/unauthorized.html'>follow these directions</a> to "
+"configure your browser."
+msgstr ""
+
+#: ipalib/plugins/internal.py:399
+msgid "Dict of I18N messages"
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:20
+msgid ""
+"\n"
+"Backend plugin for Kerberos.\n"
+"\n"
+"This wraps the python-kerberos and python-krbV bindings.\n"
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:35
+msgid ""
+"\n"
+" Kerberos backend plugin.\n"
+"\n"
+" This wraps the `krbV` bindings (and will eventually wrap the `kerberos`\n"
+" bindings also). Importantly, this plugin does correct Unicode\n"
+" encoding/decoding of values going-to/coming-from the bindings.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:44
+msgid ""
+"\n"
+" Return the ``krbV.CCache`` for the default credential cache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:50
+msgid ""
+"\n"
+" Return the ``krb5.Principal`` for the default credential cache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:56
+msgid ""
+"\n"
+" Return the ``krbV.CCache`` for the ``ccname`` credential ccache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:62
+msgid ""
+"\n"
+" Return the ``krb5.Principal`` for the ``ccname`` credential ccache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:68
+msgid ""
+"\n"
+" Return the default ccache file name.\n"
+"\n"
+" This will return something like '/tmp/krb5cc_500'.\n"
+"\n"
+" This cannot return anything meaningful if used in the server as a\n"
+" request is processed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:79
+msgid ""
+"\n"
+" Return the principal name in default credential cache.\n"
+"\n"
+" This will return something like 'admin@EXAMPLE.COM'. If no credential\n"
+" cache exists for the invoking user, None is returned.\n"
+"\n"
+" This cannot return anything meaningful if used in the server as a\n"
+" request is processed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:91
+msgid ""
+"\n"
+" Return the realm from the default credential cache.\n"
+"\n"
+" This will return something like 'EXAMPLE.COM'. If no credential cache\n"
+" exists for the invoking user, None is returned.\n"
+"\n"
+" This cannot return anything meaningful if used in the server as a\n"
+" request is processed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:103
+msgid ""
+"\n"
+" Return the principal from credential cache file at ``ccname``.\n"
+"\n"
+" This will return something like 'admin@EXAMPLE.COM'.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:111
+msgid ""
+"\n"
+" Return the realm from credential cache file at ``ccname``.\n"
+"\n"
+" This will return something like 'EXAMPLE.COM'.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:19
+msgid ""
+"\n"
+"Kerberos ticket policy\n"
+"\n"
+"There is a single Kerberos ticket policy. This policy defines the\n"
+"maximum ticket lifetime and the maximum renewal age, the period during\n"
+"which the ticket is renewable.\n"
+"\n"
+"You can also create a per-user ticket policy by specifying the user login.\n"
+"\n"
+"For changes to the global policy to take effect, restarting the KDC service\n"
+"is required, which can be achieved using:\n"
+"\n"
+"service krb5kdc restart\n"
+"\n"
+"Changes to per-user policies take effect immediately for newly requested\n"
+"tickets (e.g. when the user next runs kinit).\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Display the current Kerberos ticket policy:\n"
+" ipa krbtpolicy-show\n"
+"\n"
+" Reset the policy to the default:\n"
+" ipa krbtpolicy-reset\n"
+"\n"
+" Modify the policy to 8 hours max life, 1-day max renewal:\n"
+" ipa krbtpolicy-mod --maxlife=28800 --maxrenew=86400\n"
+"\n"
+" Display effective Kerberos ticket policy for user 'admin':\n"
+" ipa krbtpolicy-show admin\n"
+"\n"
+" Reset per-user policy for user 'admin':\n"
+" ipa krbtpolicy-reset admin\n"
+"\n"
+" Modify per-user policy for user 'admin':\n"
+" ipa krbtpolicy-mod admin --maxlife=3600\n"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:71
+msgid ""
+"\n"
+" Kerberos Ticket Policy object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:79
+msgid "Kerberos Ticket Policy"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:84 ipalib/plugins/passwd.py:53
+msgid "User name"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:85
+msgid "Manage ticket policy for specific user"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:90
+msgid "Max life"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:91
+msgid "Maximum ticket life (seconds)"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:96
+msgid "Max renew"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:97
+msgid "Maximum renewable age (seconds)"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:111
+msgid ""
+"\n"
+" Modify Kerberos ticket policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:125
+msgid ""
+"\n"
+" Display the current Kerberos ticket policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:149
+msgid ""
+"\n"
+" Reset Kerberos ticket policy to the default values.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:19
+msgid ""
+"\n"
+"Migration to IPA\n"
+"\n"
+"Migrate users and groups from an LDAP server to IPA.\n"
+"\n"
+"This performs an LDAP query against the remote server searching for\n"
+"users and groups in a container. In order to migrate passwords you need\n"
+"to bind as a user that can read the userPassword attribute on the remote\n"
+"server. This is generally restricted to high-level admins such as\n"
+"cn=Directory Manager in 389-ds (this is the default bind user).\n"
+"\n"
+"The default user container is ou=People.\n"
+"\n"
+"The default group container is ou=Groups.\n"
+"\n"
+"Users and groups that already exist on the IPA server are skipped.\n"
+"\n"
+"Two LDAP schemas define how group members are stored: RFC2307 and\n"
+"RFC2307bis. RFC2307bis uses member and uniquemember to specify group\n"
+"members, RFC2307 uses memberUid. The default schema is RFC2307bis.\n"
+"\n"
+"Migrated users do not have Kerberos credentials, they have only their\n"
+"LDAP password. To complete the migration process, users need to go\n"
+"to http://ipa.example.com/ipa/migration and authenticate using their\n"
+"LDAP password in order to generate their Kerberos credentials.\n"
+"\n"
+"Migration is disabled by default. Use the command ipa config-mod to\n"
+"enable it:\n"
+"\n"
+" ipa config-mod --enable-migration=TRUE\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" The simplest migration, accepting all defaults:\n"
+" ipa migrate-ds ldap://ds.example.com:389\n"
+"\n"
+" Specify the user and group container. This can be used to migrate user and\n"
+" group data from an IPA v1 server:\n"
+" ipa migrate-ds --user-container='cn=users,cn=accounts' --group-container='cn=groups,cn=accounts' ldap://ds.example.com:389\n"
+msgstr ""
+
+#: ipalib/plugins/migration.py:78
+msgid ""
+"Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually."
+msgstr ""
+
+#: ipalib/plugins/migration.py:79
+msgid ""
+"Failed to add user to the default group. Use 'ipa group-add-member' to add "
+"manually."
+msgstr ""
+
+#: ipalib/plugins/migration.py:175
+msgid ""
+"\n"
+" Convert usernames in member attributes to work in IPA.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:220
+msgid "Invalid LDAP URI."
+msgstr ""
+
+#: ipalib/plugins/migration.py:225
+msgid ""
+"\n"
+" Migrate users and groups from DS to IPA.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:266
+msgid "LDAP URI"
+msgstr ""
+
+#: ipalib/plugins/migration.py:267
+msgid "LDAP URI of DS server to migrate from"
+msgstr ""
+
+#: ipalib/plugins/migration.py:272
+msgid "bind password"
+msgstr ""
+
+#: ipalib/plugins/migration.py:279
+msgid "Bind DN"
+msgstr ""
+
+#: ipalib/plugins/migration.py:285
+msgid "User container"
+msgstr ""
+
+#: ipalib/plugins/migration.py:286
+msgid "RDN of container for users in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:292
+msgid "Group container"
+msgstr ""
+
+#: ipalib/plugins/migration.py:293
+msgid "RDN of container for groups in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:299
+msgid "User object class"
+msgstr ""
+
+#: ipalib/plugins/migration.py:300
+msgid ""
+"Comma-separated list of objectclasses used to search for user entries in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:306
+msgid "Group object class"
+msgstr ""
+
+#: ipalib/plugins/migration.py:307
+msgid ""
+"Comma-separated list of objectclasses used to search for group entries in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:313
+msgid "LDAP schema"
+msgstr ""
+
+#: ipalib/plugins/migration.py:314
+msgid ""
+"The schema used on the LDAP server. Supported values are RFC2307 and "
+"RFC2307bis. The default is RFC2307bis"
+msgstr ""
+
+#: ipalib/plugins/migration.py:320
+msgid ""
+"Continuous operation mode. Errors are reported but the process continues"
+msgstr ""
+
+#: ipalib/plugins/migration.py:328
+msgid "Lists of objects migrated; categorized by type."
+msgstr ""
+
+#: ipalib/plugins/migration.py:332
+msgid "Lists of objects that could not be migrated; categorized by type."
+msgstr ""
+
+#: ipalib/plugins/migration.py:336
+msgid "False if migration mode was disabled."
+msgstr ""
+
+#: ipalib/plugins/migration.py:340
+msgid "comma-separated list of %s to exclude from migration"
+msgstr ""
+
+#: ipalib/plugins/migration.py:342
+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:347
+msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it."
+msgstr ""
+
+#: ipalib/plugins/migration.py:350
+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:358
+msgid ""
+"\n"
+" Call get_options of the baseclass and add \"exclude\" options\n"
+" for each type of object being migrated.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:375
+msgid ""
+"\n"
+" Convert all \"exclude\" option values to lower-case.\n"
+"\n"
+" Also, empty List parameters are converted to None, but the migration\n"
+" plugin doesn't like that - convert back to empty lists.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:399
+msgid ""
+"\n"
+" Migrate objects from DS to LDAP.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:425
+msgid "Container for %(container)s not found"
+msgstr ""
+
+#: ipalib/plugins/misc.py:20
+msgid ""
+"\n"
+"Misc plug-ins\n"
+msgstr ""
+
+#: ipalib/plugins/misc.py:36
+msgid "Show environment variables"
+msgstr ""
+
+#: ipalib/plugins/misc.py:38
+msgid "%(count)d variables"
+msgstr ""
+
+#: ipalib/plugins/misc.py:47 ipalib/plugins/misc.py:115
+msgid ""
+"retrieve and print all attributes from the server. Affects command output."
+msgstr ""
+
+#: ipalib/plugins/misc.py:61
+msgid "Total number of variables env (>= count)"
+msgstr ""
+
+#: ipalib/plugins/misc.py:66
+msgid "Number of variables returned (<= total)"
+msgstr ""
+
+#: ipalib/plugins/misc.py:106
+msgid "Show all loaded plugins"
+msgstr ""
+
+#: ipalib/plugins/misc.py:108
+msgid "%(count)d plugin loaded"
+msgid_plural "%(count)d plugins loaded"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/misc.py:126
+msgid "Number of plugins loaded"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:20
+msgid ""
+"\n"
+"Netgroups\n"
+"\n"
+"A netgroup is a group used for permission checking. It can contain both\n"
+"user and host values.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new netgroup:\n"
+" ipa netgroup-add --desc=\"NFS admins\" admins\n"
+"\n"
+" Add members to the netgroup:\n"
+" ipa netgroup-add-member --users=tuser1,tuser2 admins\n"
+"\n"
+" Remove a member from the netgroup:\n"
+" ipa netgroup-remove-member --users=tuser2 admins\n"
+"\n"
+" Display information about a netgroup:\n"
+" ipa netgroup-show admins\n"
+"\n"
+" Delete a netgroup:\n"
+" ipa netgroup-del admins\n"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:59
+msgid "Member Host"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:67
+msgid ""
+"\n"
+" Netgroup object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:98
+msgid "Netgroups"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:103
+msgid "Netgroup name"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:110
+msgid "Netgroup description"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:114
+msgid "NIS domain name"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:119
+msgid "IPA unique ID"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:140
+msgid ""
+"\n"
+" Add a new netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:144
+msgid "Added netgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:153
+msgid ""
+"\n"
+" Delete a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:156
+msgid "Deleted netgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:162
+msgid ""
+"\n"
+" Modify a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:166
+msgid "Modified netgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:180
+msgid ""
+"\n"
+" Search for a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:185
+msgid "%(count)d netgroup matched"
+msgid_plural "%(count)d netgroups matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/netgroup.py:213
+msgid ""
+"\n"
+" Display information about a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:222
+msgid ""
+"\n"
+" Add members to a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:258
+msgid ""
+"\n"
+" Remove members from a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/passwd.py:19
+msgid ""
+"\n"
+"Set a user's password\n"
+"\n"
+"If someone other than a user changes that user's password (e.g., Helpdesk\n"
+"resets it) then the password will need to be changed the first time it\n"
+"is used. This is so the end-user is the only one who knows the password.\n"
+"\n"
+"The IPA password policy controls how often a password may be changed,\n"
+"what strength requirements exist, and the length of the password history.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" To reset your own password:\n"
+" ipa passwd\n"
+"\n"
+" To change another user's password:\n"
+" ipa passwd tuser1\n"
+msgstr ""
+
+#: ipalib/plugins/passwd.py:46
+msgid ""
+"\n"
+" Set a user's password\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/passwd.py:64
+msgid "Changed password for \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/passwd.py:67
+msgid ""
+"\n"
+" Execute the passwd operation.\n"
+"\n"
+" The dn should not be passed as a keyword argument as it is constructed\n"
+" by this method.\n"
+"\n"
+" Returns the entry\n"
+"\n"
+" :param principal: The login name or principal of the user\n"
+" :param password: the new password\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:19
+msgid ""
+"\n"
+"Permissions\n"
+"\n"
+"A permission enables fine-grained delegation of rights. A permission is\n"
+"a human-readable form of a 389-ds Access Control Rule, or instruction (ACI).\n"
+"A permission grants the right to perform a specific task such as adding a\n"
+"user, modifying a group, etc.\n"
+"\n"
+"A permission may not contain other permissions.\n"
+"\n"
+"* A permission grants access to read, write, add or delete.\n"
+"* A privilege combines similar permissions (for example all the permissions\n"
+" needed to add a user).\n"
+"* A role grants a set of privileges to users, groups, hosts or hostgroups.\n"
+"\n"
+"A permission is made up of a number of different parts:\n"
+"\n"
+"1. The name of the permission.\n"
+"2. The target of the permission.\n"
+"3. The rights granted by the permission.\n"
+"\n"
+"Rights define what operations are allowed, and may be one or more\n"
+"of the following:\n"
+"1. write - write one or more attributes\n"
+"2. read - read one or more attributes\n"
+"3. add - add a new entry to the tree\n"
+"4. delete - delete an existing entry\n"
+"5. all - all permissions are granted\n"
+"\n"
+"Read permission is granted for most attributes by default so the read\n"
+"permission is not expected to be used very often.\n"
+"\n"
+"Note the distinction between attributes and entries. The permissions are\n"
+"independent, so being able to add a user does not mean that the user will\n"
+"be editable.\n"
+"\n"
+"There are a number of allowed targets:\n"
+"1. type: a type of object (user, group, etc).\n"
+"2. memberof: a member of a group or hostgroup\n"
+"3. filter: an LDAP filter\n"
+"4. subtree: an LDAP filter specifying part of the LDAP DIT. This is a\n"
+" super-set of the \"type\" target.\n"
+"5. targetgroup: grant access to modify a specific group (such as granting\n"
+" the rights to manage group membership)\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a permission that grants the creation of users:\n"
+" ipa permission-add --type=user --permissions=add \"Add Users\"\n"
+"\n"
+" Add a permission that grants the ability to manage group membership:\n"
+" ipa permission-add --attrs=member --permissions=write --type=group \"Manage Group Members\"\n"
+msgstr ""
+
+#: ipalib/plugins/permission.py:84
+msgid "Permission Type"
+msgstr ""
+
+#: ipalib/plugins/permission.py:89
+msgid ""
+"\n"
+" Permission object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:112
+msgid "Permission name"
+msgstr ""
+
+#: ipalib/plugins/permission.py:119
+msgid ""
+"Comma-separated list of permissions to grant (read, write, add, delete, all)"
+msgstr ""
+
+#: ipalib/plugins/permission.py:132
+msgid ""
+"Type of IPA object (user, group, host, hostgroup, service, netgroup, dns)"
+msgstr ""
+
+#: ipalib/plugins/permission.py:138
+msgid "Member of group"
+msgstr ""
+
+#: ipalib/plugins/permission.py:139
+msgid "Target members of a group"
+msgstr ""
+
+#: ipalib/plugins/permission.py:151
+msgid "Subtree to apply permissions to"
+msgstr ""
+
+#: ipalib/plugins/permission.py:157
+msgid "User group to apply permissions to"
+msgstr ""
+
+#: ipalib/plugins/permission.py:177
+msgid ""
+"\n"
+" Add a new permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:181
+msgid "Added permission \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/permission.py:236
+msgid ""
+"\n"
+" Delete a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:240
+msgid "Deleted permission \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/permission.py:256
+msgid ""
+"\n"
+" Modify a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:260
+msgid "Modified permission \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/permission.py:352
+msgid ""
+"\n"
+" Search for permissions.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:356
+msgid "%(count)d permission matched"
+msgid_plural "%(count)d permissions matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/permission.py:405
+msgid ""
+"\n"
+" Display information about a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:428
+msgid ""
+"\n"
+" Add members to a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:437
+msgid ""
+"\n"
+" Remove members from a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/ping.py:19
+msgid ""
+"\n"
+"Ping the remote IPA server\n"
+msgstr ""
+
+#: ipalib/plugins/ping.py:29
+msgid ""
+"\n"
+" ping a remote server\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/ping.py:37
+msgid ""
+"\n"
+" A possible enhancement would be to take an argument and echo it\n"
+" back but a fixed value works for now.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:19
+msgid ""
+"\n"
+"Kerberos pkinit options\n"
+"\n"
+"Enable or disable anonymous pkinit using the principal\n"
+"WELLKNOWN/ANONYMOUS@REALM. The server must have been installed with\n"
+"pkinit support.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Enable anonymous pkinit:\n"
+" ipa pkinit-anonymous enable\n"
+"\n"
+" Disable anonymous pkinit:\n"
+" ipa pkinit-anonymous disable\n"
+"\n"
+"For more information on anonymous pkinit see:\n"
+"\n"
+"http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit\n"
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:46
+msgid ""
+"\n"
+" PKINIT Options\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:51
+msgid "PKINIT"
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:56
+msgid ""
+"\n"
+" Accepts only Enable/Disable.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:67
+msgid ""
+"\n"
+" Enable or Disable Anonymous PKINIT\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:19
+msgid ""
+"\n"
+"Privileges\n"
+"\n"
+"A privilege combines permissions into a logical task. A permission provides\n"
+"the rights to do a single task. There are some IPA operations that require\n"
+"multiple permissions to succeed. A privilege is where permissions are\n"
+"combined in order to perform a specific task.\n"
+"\n"
+"For example, adding a user requires the following permissions:\n"
+" * Creating a new user entry\n"
+" * Resetting a user password\n"
+" * Adding the new user to the default IPA users group\n"
+"\n"
+"Combining these three low-level tasks into a higher level task in the\n"
+"form of a privilege named \"Add User\" makes it easier to manage Roles.\n"
+"\n"
+"A privilege may not contain other privileges.\n"
+"\n"
+"See role and permission for additional information.\n"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:45
+msgid ""
+"\n"
+" Privilege object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:65
+msgid "Privileges"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:70
+msgid "Privilege name"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:77
+msgid "Privilege description"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:85
+msgid ""
+"\n"
+" Add a new privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:89
+msgid "Added privilege \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/privilege.py:95
+msgid ""
+"\n"
+" Delete a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:99
+msgid "Deleted privilege \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/privilege.py:105
+msgid ""
+"\n"
+" Modify a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:109
+msgid "Modified privilege \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/privilege.py:115
+msgid ""
+"\n"
+" Search for privileges.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:119
+msgid "%(count)d privilege matched"
+msgid_plural "%(count)d privileges matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/privilege.py:127
+msgid ""
+"\n"
+" Display information about a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:135
+msgid ""
+"\n"
+" Add members to a privilege\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:144
+msgid ""
+"\n"
+" Remove members from a privilege\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:153
+msgid ""
+"\n"
+" Add permissions to a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:169
+msgid "Number of permissions added"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:177
+msgid ""
+"\n"
+" Remove permissions from a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:195
+msgid "Number of permissions removed"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:20
+msgid ""
+"\n"
+"Password policy\n"
+"\n"
+"A password policy sets limitations on IPA passwords, including maximum\n"
+"lifetime, minimum lifetime, the number of passwords to save in\n"
+"history, the number of character classes required (for stronger passwords)\n"
+"and the minimum password length.\n"
+"\n"
+"By default there is a single, global policy for all users. You can also\n"
+"create a password policy to apply to a group. Each user is only subject\n"
+"to one password policy, either the group policy or the global policy. A\n"
+"group policy stands alone; it is not a super-set of the global policy plus\n"
+"custom settings.\n"
+"\n"
+"Each group password policy requires a unique priority setting. If a user\n"
+"is in multiple groups that have password policies, this priority determines\n"
+"which password policy is applied. A lower value indicates a higher priority\n"
+"policy.\n"
+"\n"
+"Group password policies are automatically removed when the groups they\n"
+"are associated with are removed.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Modify the global policy:\n"
+" ipa pwpolicy-mod --minlength=10\n"
+"\n"
+" Add a new group password policy:\n"
+" ipa pwpolicy-add --maxlife=90 --minlife=1 --history=10 --minclasses=3 --minlength=8 --priority=10 localadmins\n"
+"\n"
+" Display the global password policy:\n"
+" ipa pwpolicy-show\n"
+"\n"
+" Display a group password policy:\n"
+" ipa pwpolicy-show localadmins\n"
+"\n"
+" Display the policy that would be applied to a given user:\n"
+" ipa pwpolicy-show --user=tuser1\n"
+"\n"
+" Modify a group password policy:\n"
+" ipa pwpolicy-mod --minclasses=2 localadmins\n"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:72
+msgid ""
+"\n"
+" Class of Service object used for linking policies with groups\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:87
+msgid "priority must be a unique value (%(prio)d already used by %(gname)s)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:172
+msgid ""
+"\n"
+" Password Policy object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:201
+msgid "Max failures"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:202
+msgid "Consecutive failures before lockout"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:207
+msgid "Failure reset interval"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:208
+msgid "Period after which failure count will be reset (seconds)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:213
+msgid "Lockout duration"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:214
+msgid "Period for which lockout is enforced (seconds)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:224
+msgid "Group"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:225
+msgid "Manage password policy for specific group"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:230
+msgid "Max lifetime (days)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:231
+msgid "Maximum password lifetime (in days)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:236
+msgid "Min lifetime (hours)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:237
+msgid "Minimum password lifetime (in hours)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:242
+msgid "History size"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:243
+msgid "Password history size"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:248
+msgid "Character classes"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:249
+msgid "Minimum number of character classes"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:255
+msgid "Min length"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:256
+msgid "Minimum length of password"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:261
+msgid "Priority"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:262
+msgid "Priority of the policy (higher number means lower priority"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:294
+msgid ""
+"\n"
+" Ensure that the maximum lifetime is greater than the minimum.\n"
+" If there is no minimum lifetime set then don't return an error.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:314
+msgid "Maximum password life must be greater than minimum."
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:333
+msgid ""
+"\n"
+" Add a new group password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:361
+msgid ""
+"\n"
+" Delete a group password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:380
+msgid ""
+"\n"
+" Modify a group password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:391
+msgid "priority cannot be set on global policy"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:423
+msgid ""
+"\n"
+" Display information about password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:428
+msgid "User"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:429
+msgid "Display effective policy for a specific user"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:452
+msgid ""
+"\n"
+" Search for group password policies.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:20
+msgid ""
+"\n"
+"Roles\n"
+"\n"
+"A role is used for fine-grained delegation. A permission grants the ability\n"
+"to perform given low-level tasks (add a user, modify a group, etc.). A\n"
+"privilege combines one or more permissions into a higher-level abstraction\n"
+"such as useradmin. A useradmin would be able to add, delete and modify users.\n"
+"\n"
+"Privileges are assigned to Roles.\n"
+"\n"
+"Users, groups, hosts and hostgroups may be members of a Role.\n"
+"\n"
+"Roles can not contain other roles.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new role:\n"
+" ipa role-add --desc=\"Junior-level admin\" junioradmin\n"
+"\n"
+" Add some privileges to this role:\n"
+" ipa role-add-privilege --privileges=addusers junioradmin\n"
+" ipa role-add-privilege --privileges=change_password junioradmin\n"
+" ipa role-add-privilege --privileges=add_user_to_default_group juioradmin\n"
+"\n"
+" Add a group of users to this role:\n"
+" ipa group-add --desc=\"User admins\" useradmins\n"
+" ipa role-add-member --groups=useradmins junioradmin\n"
+"\n"
+" Display information about a role:\n"
+" ipa role-show junioradmin\n"
+"\n"
+" The result of this is that any users in the group 'useradmins' can\n"
+" add users, reset passwords or add a user to the default IPA user group.\n"
+msgstr ""
+
+#: ipalib/plugins/role.py:62
+msgid ""
+"\n"
+" Role object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:81
+msgid "Role"
+msgstr ""
+
+#: ipalib/plugins/role.py:86
+msgid "Role name"
+msgstr ""
+
+#: ipalib/plugins/role.py:93
+msgid "A description of this role-group"
+msgstr ""
+
+#: ipalib/plugins/role.py:101
+msgid ""
+"\n"
+" Add a new role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:105
+msgid "Added role \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/role.py:111
+msgid ""
+"\n"
+" Delete a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:115
+msgid "Deleted role \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/role.py:121
+msgid ""
+"\n"
+" Modify a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:125
+msgid "Modified role \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/role.py:131
+msgid ""
+"\n"
+" Search for roles.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:135
+msgid "%(count)d role matched"
+msgid_plural "%(count)d roles matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/role.py:143
+msgid ""
+"\n"
+" Display information about a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:151
+msgid ""
+"\n"
+" Add members to a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:159
+msgid ""
+"\n"
+" Remove members from a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:167
+msgid ""
+"\n"
+" Add privileges to a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:183
+msgid "Number of privileges added"
+msgstr ""
+
+#: ipalib/plugins/role.py:191
+msgid ""
+"\n"
+" Remove privileges from a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:207
+msgid "Number of privileges removed"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:19
+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:\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. Add telephoneNumber to the list:\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:56
+msgid ""
+"\n"
+" Determine if the ACI is a Self-service ACI and raise an exception if it\n"
+" isn't.\n"
+"\n"
+" Return the result if it is a self-service ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:64
+msgid "Self-service permission '%(permission)s' not found"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:68
+msgid ""
+"\n"
+" Selfservice object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:75
+msgid "Self Service Permissions"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:80 ipalib/plugins/selfservice.py:81
+msgid "Self-service name"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:114
+msgid ""
+"\n"
+" Add a new self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:118
+msgid "Added selfservice \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:137
+msgid ""
+"\n"
+" Delete a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:142
+msgid "Deleted selfservice \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:158
+msgid ""
+"\n"
+" Modify a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:162
+msgid "Modified selfservice \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:181
+msgid ""
+"\n"
+" Search for a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:185
+msgid "%(count)d selfservice matched"
+msgid_plural "%(count)d selfservices matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/selfservice.py:207
+msgid ""
+"\n"
+" Display information about a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:21
+msgid ""
+"\n"
+"Services\n"
+"\n"
+"A IPA service represents a service that runs on a host. The IPA service\n"
+"record can store a Kerberos principal, an SSL certificate, or both.\n"
+"\n"
+"An IPA service can be managed directly from a machine, provided that\n"
+"machine has been given the correct permission. This is true even for\n"
+"machines other than the one the service is associated with. For example,\n"
+"requesting an SSL certificate using the host service principal credentials\n"
+"of the host. To manage a service using host credentials you need to\n"
+"kinit as the host:\n"
+"\n"
+" # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM\n"
+"\n"
+"Adding an IPA service allows the associated service to request an SSL\n"
+"certificate or keytab, but this is performed as a separate step; they\n"
+"are not produced as a result of adding the service.\n"
+"\n"
+"Only the public aspect of a certificate is stored in a service record;\n"
+"the private key is not stored.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new IPA service:\n"
+" ipa service-add HTTP/web.example.com\n"
+"\n"
+" Allow a host to manage an IPA service certificate:\n"
+" ipa service-add-host --hosts=web.example.com HTTP/web.example.com\n"
+" ipa role-add-member --hosts=web.example.com certadmin\n"
+"\n"
+" 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"
+"\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/service.py:162
+msgid ""
+"\n"
+" For now just verify that it is properly base64-encoded.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:175
+msgid ""
+"\n"
+" Set individual attributes from some values from a certificate.\n"
+"\n"
+" entry_attrs is a dict of an entry\n"
+"\n"
+" returns nothing\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:199
+msgid ""
+"\n"
+" Service object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:226
+msgid "Service principal"
+msgstr ""
+
+#: ipalib/plugins/service.py:242
+msgid ""
+"\n"
+" Add a new IPA new service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:245
+msgid "Added service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/service.py:251
+msgid "force principal name even if not in DNS"
+msgstr ""
+
+#: ipalib/plugins/service.py:284
+msgid ""
+"\n"
+" Delete an IPA service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:287
+msgid "Deleted service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/service.py:321
+msgid ""
+"\n"
+" Modify an existing IPA service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:324
+msgid "Modified service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/service.py:356
+msgid ""
+"\n"
+" Search for IPA services.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:359
+msgid "%(count)d service matched"
+msgid_plural "%(count)d services matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/service.py:394
+msgid ""
+"\n"
+" Display information about an IPA service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:432
+msgid ""
+"\n"
+" Add hosts that can manage this service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:442
+msgid ""
+"\n"
+" Remove hosts that can manage this service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:452
+msgid ""
+"\n"
+" Disable the Kerberos key and SSL certificate of a service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:456
+msgid "Disabled service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:19
+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/sudocmd.py:46
+msgid ""
+"\n"
+" Sudo Command object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:64
+msgid "Sudo Commands"
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:69
+msgid "Sudo Command"
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:75
+msgid "A description of this command"
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:98
+msgid ""
+"\n"
+" Create new sudo command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:102
+msgid "Added sudo command \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:107
+msgid ""
+"\n"
+" Delete sudo command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:111
+msgid "Deleted sudo command \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:116
+msgid ""
+"\n"
+" Modify command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:120
+msgid "Modified sudo command \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:125
+msgid ""
+"\n"
+" Search for commands.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:129
+msgid "%(count)d sudo command matched"
+msgid_plural "%(count)d sudo command matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/sudocmd.py:136
+msgid ""
+"\n"
+" Display sudo command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:19
+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,/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"
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:50
+msgid ""
+"\n"
+" Sudo Group object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:70
+msgid "Sudo Command Group"
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:93
+msgid ""
+"\n"
+" Create new sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:97
+msgid "Added sudo command group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:103
+msgid ""
+"\n"
+" Delete sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:107
+msgid "Deleted sudo command group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:113
+msgid ""
+"\n"
+" Modify group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:117
+msgid "Modified sudo command group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:123
+msgid ""
+"\n"
+" Search for sudo command groups.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:127
+msgid "%(count)d sudo command group matched"
+msgid_plural "%(count)d sudo command groups matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/sudocmdgroup.py:136
+msgid ""
+"\n"
+" Display sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:144
+msgid ""
+"\n"
+" Add members to sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:152
+msgid ""
+"\n"
+" Remove members from sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:19
+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"
+"\n"
+"FreeIPA provides a designated binddn to use with Sudo located at:\n"
+"uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n"
+"\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"
+"\n"
+"For more information, see the FreeIPA Documentation to Sudo.\n"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:44
+msgid ""
+"\n"
+" Sudo Rule management\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:68
+msgid "Sudo Rule"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:98
+msgid "Command category"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:99
+msgid "Command category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:104
+msgid "Run As User category"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:105
+msgid "Run As User category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:110
+msgid "Run As Group category"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:111
+msgid "Run As Group category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:131
+msgid "Sudo Allow Commands"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:135
+msgid "Sudo Deny Commands"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:147
+msgid "Run As User"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:151
+msgid "Run As Group"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:156
+msgid "External User"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:157
+msgid "External User the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:161
+msgid "RunAs External User"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:162
+msgid "External User the commands can run as"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:166
+msgid "RunAs External Group"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:167
+msgid "External Group the commands can run as"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:175
+msgid ""
+"\n"
+" Create new Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:183
+msgid "Added sudo rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:189
+msgid ""
+"\n"
+" Delete Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:197
+msgid ""
+"\n"
+" Modify Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:205
+msgid ""
+"\n"
+" Search for Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:213
+msgid ""
+"\n"
+" Display Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:221
+msgid ""
+"\n"
+" Enable a Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:247
+msgid ""
+"\n"
+" Disable a Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:273 ipalib/plugins/sudorule.py:293
+msgid ""
+"\n"
+" Add commands and sudo command groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:283 ipalib/plugins/sudorule.py:303
+msgid ""
+"\n"
+" Remove commands and sudo command groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:313
+msgid ""
+"\n"
+" Add users and groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:349
+msgid ""
+"\n"
+" Remove users and groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:383
+msgid ""
+"\n"
+" Add hosts and hostgroups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:419
+msgid ""
+"\n"
+" Remove hosts and hostgroups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:453
+msgid ""
+"\n"
+" Add user for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:489
+msgid ""
+"\n"
+" Remove user for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:523
+msgid ""
+"\n"
+" Add group for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:559
+msgid ""
+"\n"
+" Remove group for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:593
+msgid ""
+"\n"
+" Add an option to the Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:600 ipalib/plugins/sudorule.py:641
+msgid "Sudo Option"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:635
+msgid ""
+"\n"
+" Remove an option from Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:20
+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"
+"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/user.py:79
+msgid ""
+"\n"
+" User object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:116
+msgid "User login"
+msgstr ""
+
+#: ipalib/plugins/user.py:123
+msgid "First name"
+msgstr ""
+
+#: ipalib/plugins/user.py:127
+msgid "Last name"
+msgstr ""
+
+#: ipalib/plugins/user.py:130
+msgid "Full name"
+msgstr ""
+
+#: ipalib/plugins/user.py:135
+msgid "Display name"
+msgstr ""
+
+#: ipalib/plugins/user.py:140
+msgid "Initials"
+msgstr ""
+
+#: ipalib/plugins/user.py:146
+msgid "Home directory"
+msgstr ""
+
+#: ipalib/plugins/user.py:150
+msgid "GECOS field"
+msgstr ""
+
+#: ipalib/plugins/user.py:156
+msgid "Login shell"
+msgstr ""
+
+#: ipalib/plugins/user.py:161
+msgid "Kerberos principal"
+msgstr ""
+
+#: ipalib/plugins/user.py:168
+msgid "Email address"
+msgstr ""
+
+#: ipalib/plugins/user.py:173
+msgid "Prompt to set the user password"
+msgstr ""
+
+#: ipalib/plugins/user.py:180
+msgid "UID"
+msgstr ""
+
+#: ipalib/plugins/user.py:181
+msgid "User ID Number (system will assign one if not provided)"
+msgstr ""
+
+#: ipalib/plugins/user.py:188
+msgid "Group ID Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:193
+msgid "Street address"
+msgstr ""
+
+#: ipalib/plugins/user.py:197
+msgid "City"
+msgstr ""
+
+#: ipalib/plugins/user.py:201
+msgid "State/Province"
+msgstr ""
+
+#: ipalib/plugins/user.py:204
+msgid "ZIP"
+msgstr ""
+
+#: ipalib/plugins/user.py:208
+msgid "Telephone Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:211
+msgid "Mobile Telephone Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:214
+msgid "Pager Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:218
+msgid "Fax Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:222
+msgid "Org. Unit"
+msgstr ""
+
+#: ipalib/plugins/user.py:225
+msgid "Job Title"
+msgstr ""
+
+#: ipalib/plugins/user.py:228
+msgid "Manager"
+msgstr ""
+
+#: ipalib/plugins/user.py:231
+msgid "Car License"
+msgstr ""
+
+#: ipalib/plugins/user.py:234
+msgid "Account disabled"
+msgstr ""
+
+#: ipalib/plugins/user.py:258
+msgid ""
+"\n"
+" Given a userid verify the user's existence and return the dn.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:276
+msgid "manager %(manager)s not found"
+msgstr ""
+
+#: ipalib/plugins/user.py:281
+msgid ""
+"\n"
+" Convert a manager dn into a userid\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:295
+msgid ""
+"\n"
+" Add a new user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:298
+msgid "Added user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:303
+msgid "Don't create user private group"
+msgstr ""
+
+#: ipalib/plugins/user.py:333
+msgid "can be at most %(len)d characters"
+msgstr ""
+
+#: ipalib/plugins/user.py:400
+msgid ""
+"\n"
+" Delete a user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:404
+msgid "Deleted user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:413
+msgid ""
+"\n"
+" Modify a user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:417
+msgid "Modified user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:437
+msgid ""
+"\n"
+" Search for users.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:444
+msgid "Self"
+msgstr ""
+
+#: ipalib/plugins/user.py:445
+msgid "Display user record for current Kerberos principal"
+msgstr ""
+
+#: ipalib/plugins/user.py:463
+msgid "%(count)d user matched"
+msgid_plural "%(count)d users matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/user.py:471
+msgid ""
+"\n"
+" Display information about a user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:484
+msgid ""
+"\n"
+" Disable a user account.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:489
+msgid "Disabled user account \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:507
+msgid ""
+"\n"
+" Enable a user account.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:512
+msgid "Enabled user account \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:529
+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.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:538
+msgid "Unlocked account \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/virtual.py:20
+msgid ""
+"\n"
+"Base classes for non-LDAP backend plugins.\n"
+msgstr ""
+
+#: ipalib/plugins/virtual.py:28
+msgid ""
+"\n"
+" A command that doesn't use the LDAP backend but wants to use the\n"
+" LDAP access control system to make authorization decisions.\n"
+"\n"
+" The class variable operation is the commonName attribute of the\n"
+" entry to be tested against.\n"
+"\n"
+" In advance, you need to create an entry of the form:\n"
+" cn=<operation>, api.env.container_virtual, api.env.basedn\n"
+"\n"
+" Ex.\n"
+" cn=request certificate, cn=virtual operations,cn=etc, dc=example, dc=com\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/virtual.py:44
+msgid ""
+"\n"
+" Perform an LDAP query to determine authorization.\n"
+"\n"
+" This should be executed before any actual work is done.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/xmlclient.py:21
+msgid ""
+"\n"
+"XML-RPC client plugin.\n"
+msgstr ""
+
+#: ipalib/cli.py:581
+#, python-format
+msgid "Enter %(label)s again to verify: "
+msgstr ""
+
+#: ipalib/cli.py:585 ipa-client/ipa-getkeytab.c:751
+#, c-format
+msgid "Passwords do not match!"
+msgstr ""
+
+#: ipalib/cli.py:590
+msgid "Cancelled."
+msgstr ""
+
+#: ipalib/cli.py:819
+msgid "Command name"
+msgstr ""
+
+#: ipalib/cli.py:1117
+msgid "No file to read"
+msgstr ""
+
+#: ipalib/errors.py:300
+#, python-format
+msgid "%(cver)s client incompatible with %(sver)s server at %(server)r"
+msgstr ""
+
+#: ipalib/errors.py:318
+#, python-format
+msgid "unknown error %(code)d from %(server)s: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:334
+msgid "an internal error has occurred"
+msgstr ""
+
+#: ipalib/errors.py:356
+#, python-format
+msgid "an internal error has occurred on server at %(server)r"
+msgstr ""
+
+#: ipalib/errors.py:372
+#, python-format
+msgid "unknown command %(name)r"
+msgstr ""
+
+#: ipalib/errors.py:389 ipalib/errors.py:414
+#, python-format
+msgid "error on server %(server)r: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:405
+#, python-format
+msgid "cannot connect to %(uri)r: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:423
+#, python-format
+msgid "Invalid JSON-RPC request: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:439
+#, python-format
+msgid "error marshalling data for XML-RPC transport: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:465
+#, python-format
+msgid "Kerberos error: %(major)s/%(minor)s"
+msgstr ""
+
+#: ipalib/errors.py:482
+msgid "did not receive Kerberos credentials"
+msgstr ""
+
+#: ipalib/errors.py:498
+#, python-format
+msgid "Service %(service)r not found in Kerberos database"
+msgstr ""
+
+#: ipalib/errors.py:514
+msgid "No credentials cache found"
+msgstr ""
+
+#: ipalib/errors.py:530
+msgid "Ticket expired"
+msgstr ""
+
+#: ipalib/errors.py:546
+msgid "Credentials cache permissions incorrect"
+msgstr ""
+
+#: ipalib/errors.py:562
+msgid "Bad format in credentials cache"
+msgstr ""
+
+#: ipalib/errors.py:578
+msgid "Cannot resolve KDC for requested realm"
+msgstr ""
+
+#: ipalib/errors.py:597
+#, python-format
+msgid "Insufficient access: %(info)s"
+msgstr ""
+
+#: ipalib/errors.py:641
+#, python-format
+msgid "command %(name)r takes no arguments"
+msgstr ""
+
+#: ipalib/errors.py:661
+#, python-format
+msgid "command %(name)r takes at most %(count)d argument"
+msgid_plural "command %(name)r takes at most %(count)d arguments"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/errors.py:691
+#, python-format
+msgid "overlapping arguments and options: %(names)r"
+msgstr ""
+
+#: ipalib/errors.py:707
+#, python-format
+msgid "%(name)r is required"
+msgstr ""
+
+#: ipalib/errors.py:723 ipalib/errors.py:739
+#, python-format
+msgid "invalid %(name)r: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:755
+#, python-format
+msgid "api has no such namespace: %(name)r"
+msgstr ""
+
+#: ipalib/errors.py:764
+msgid "Passwords do not match"
+msgstr ""
+
+#: ipalib/errors.py:773
+msgid "Command not implemented"
+msgstr ""
+
+#: ipalib/errors.py:782
+msgid "Client is not configured. Run ipa-client-install."
+msgstr ""
+
+#: ipalib/errors.py:810 ipalib/errors.py:1050 ipalib/errors.py:1144
+#: ipalib/errors.py:1424 ipalib/errors.py:1441
+#, python-format
+msgid "%(reason)s"
+msgstr ""
+
+#: ipalib/errors.py:826
+msgid "This entry already exists"
+msgstr ""
+
+#: ipalib/errors.py:842
+msgid "You must enroll a host in order to create a host service"
+msgstr ""
+
+#: ipalib/errors.py:858
+#, python-format
+msgid ""
+"Service principal is not of the form: service/fully-qualified host name: "
+"%(reason)s"
+msgstr ""
+
+#: ipalib/errors.py:874
+msgid ""
+"The realm for the principal does not match the realm for this IPA server"
+msgstr ""
+
+#: ipalib/errors.py:890
+msgid "This command requires root access"
+msgstr ""
+
+#: ipalib/errors.py:906
+msgid "This is already a posix group"
+msgstr ""
+
+#: ipalib/errors.py:922
+#, python-format
+msgid "Principal is not of the form user@REALM: %(principal)r"
+msgstr ""
+
+#: ipalib/errors.py:938
+msgid "This entry is already enabled"
+msgstr ""
+
+#: ipalib/errors.py:954
+msgid "This entry is already disabled"
+msgstr ""
+
+#: ipalib/errors.py:970
+msgid "This entry cannot be enabled or disabled"
+msgstr ""
+
+#: ipalib/errors.py:986
+msgid "This entry is not a member"
+msgstr ""
+
+#: ipalib/errors.py:1002
+msgid "A group may not be a member of itself"
+msgstr ""
+
+#: ipalib/errors.py:1018
+msgid "This entry is already a member"
+msgstr ""
+
+#: ipalib/errors.py:1034
+#, python-format
+msgid "Base64 decoding failed: %(reason)s"
+msgstr ""
+
+#: ipalib/errors.py:1066
+msgid "A group may not be added as a member of itself"
+msgstr ""
+
+#: ipalib/errors.py:1082
+msgid "The default users group cannot be removed"
+msgstr ""
+
+#: ipalib/errors.py:1098
+msgid "Host does not have corresponding DNS A record"
+msgstr ""
+
+#: ipalib/errors.py:1113
+msgid "Deleting a managed group is not allowed. It must be detached first."
+msgstr ""
+
+#: ipalib/errors.py:1128
+msgid "A managed group cannot have a password policy."
+msgstr ""
+
+#: ipalib/errors.py:1160
+#, python-format
+msgid "'%(entry)s' doesn't have a certificate."
+msgstr ""
+
+#: ipalib/errors.py:1176
+#, python-format
+msgid "Unable to create private group. A group '%(group)s' already exists."
+msgstr ""
+
+#: ipalib/errors.py:1192
+#, python-format
+msgid ""
+"A problem was encountered when verifying that all members were %(verb)s: "
+"%(exc)s"
+msgstr ""
+
+#: ipalib/errors.py:1216
+#, python-format
+msgid "no command nor help topic %(topic)r"
+msgstr ""
+
+#: ipalib/errors.py:1240
+msgid "change collided with another change"
+msgstr ""
+
+#: ipalib/errors.py:1256
+msgid "no modifications to be performed"
+msgstr ""
+
+#: ipalib/errors.py:1272
+#, python-format
+msgid "%(desc)s: %(info)s"
+msgstr ""
+
+#: ipalib/errors.py:1288
+msgid "limits exceeded for this query"
+msgstr ""
+
+#: ipalib/errors.py:1303
+#, python-format
+msgid "%(info)s"
+msgstr ""
+
+#: ipalib/errors.py:1318
+msgid "modifying primary key is not allowed"
+msgstr ""
+
+#: ipalib/errors.py:1334
+#, python-format
+msgid "%(attr)s: Only one value allowed."
+msgstr ""
+
+#: ipalib/errors.py:1350
+#, python-format
+msgid "%(attr)s: Invalid syntax."
+msgstr ""
+
+#: ipalib/errors.py:1366
+#, python-format
+msgid "Bad search filter %(info)s"
+msgstr ""
+
+#: ipalib/errors.py:1391
+#, python-format
+msgid "Certificate operation cannot be completed: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:1407
+#, python-format
+msgid "Certificate format error: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:1458
+msgid "Already registered"
+msgstr ""
+
+#: ipalib/errors.py:1474
+msgid "Not registered yet"
+msgstr ""
+
+#: ipalib/frontend.py:398
+msgid "Results are truncated, try a more specific search"
+msgstr ""
+
+#: ipalib/frontend.py:850
+msgid ""
+"Retrieve and print all attributes from the server. Affects command output."
+msgstr ""
+
+#: ipalib/frontend.py:856
+msgid "Print entries as stored on the server. Only affects output format."
+msgstr ""
+
+#: ipalib/frontend.py:985
+msgid "Forward to server instead of running locally"
+msgstr ""
+
+#: ipalib/output.py:92
+msgid "A dictionary representing an LDAP entry"
+msgstr ""
+
+#: ipalib/output.py:100
+msgid "A list of LDAP entries"
+msgstr ""
+
+#: ipalib/output.py:111
+msgid "All commands should at least have a result"
+msgstr ""
+
+#: ipalib/parameters.py:296
+msgid "incorrect type"
+msgstr ""
+
+#: ipalib/parameters.py:299
+msgid "Only one value is allowed"
+msgstr ""
+
+#: ipalib/parameters.py:901
+msgid "must be True or False"
+msgstr ""
+
+#: ipalib/parameters.py:1002
+msgid "must be an integer"
+msgstr ""
+
+#: ipalib/parameters.py:1054
+#, python-format
+msgid "must be at least %(minvalue)d"
+msgstr ""
+
+#: ipalib/parameters.py:1064
+#, python-format
+msgid "can be at most %(maxvalue)d"
+msgstr ""
+
+#: ipalib/parameters.py:1074
+msgid "must be a decimal number"
+msgstr ""
+
+#: ipalib/parameters.py:1097
+#, python-format
+msgid "must be at least %(minvalue)f"
+msgstr ""
+
+#: ipalib/parameters.py:1107
+#, python-format
+msgid "can be at most %(maxvalue)f"
+msgstr ""
+
+#: ipalib/parameters.py:1174
+#, python-format
+msgid "must match pattern \"%(pattern)s\""
+msgstr ""
+
+#: ipalib/parameters.py:1192
+msgid "must be binary data"
+msgstr ""
+
+#: ipalib/parameters.py:1208
+#, python-format
+msgid "must be at least %(minlength)d bytes"
+msgstr ""
+
+#: ipalib/parameters.py:1218
+#, python-format
+msgid "can be at most %(maxlength)d bytes"
+msgstr ""
+
+#: ipalib/parameters.py:1228
+#, python-format
+msgid "must be exactly %(length)d bytes"
+msgstr ""
+
+#: ipalib/parameters.py:1246
+msgid "must be Unicode text"
+msgstr ""
+
+#: ipalib/parameters.py:1277
+#, python-format
+msgid "must be at least %(minlength)d characters"
+msgstr ""
+
+#: ipalib/parameters.py:1287
+#, python-format
+msgid "can be at most %(maxlength)d characters"
+msgstr ""
+
+#: ipalib/parameters.py:1297
+#, python-format
+msgid "must be exactly %(length)d characters"
+msgstr ""
+
+#: ipalib/parameters.py:1315
+#, python-format
+msgid "The character '%(char)r' is not allowed."
+msgstr ""
+
+#: ipalib/parameters.py:1355
+#, python-format
+msgid "must be one of %(values)r"
+msgstr ""
+
+#: ipalib/util.py:200
+#, python-format
+msgid "Permission denied: %(file)s"
+msgstr ""
+
+#: ipalib/x509.py:174
+#, python-format
+msgid "Issuer \"%(issuer)s\" does not match the expected issuer"
+msgstr ""
+
+#: ipaserver/plugins/dogtag.py:1313 ipaserver/plugins/dogtag.py:1398
+#: ipaserver/plugins/dogtag.py:1463 ipaserver/plugins/dogtag.py:1541
+#: ipaserver/plugins/dogtag.py:1600
+#, python-format
+msgid "Unable to communicate with CMS (%s)"
+msgstr ""
+
+#: ipaserver/plugins/join.py:54
+msgid "The hostname to register as"
+msgstr ""
+
+#: ipaserver/plugins/join.py:62
+msgid "The IPA realm"
+msgstr ""
+
+#: ipaserver/plugins/join.py:68
+msgid "Hardware platform of the host (e.g. Lenovo T61)"
+msgstr ""
+
+#: ipaserver/plugins/join.py:72
+msgid "Operating System and version of the host (e.g. Fedora 9)"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:99
+#, python-format
+msgid ""
+"Request subject \"%(request_subject)s\" does not match the form "
+"\"%(subject_base)s\""
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:104
+#, python-format
+msgid "unable to decode csr: %s"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:125 ipaserver/plugins/selfsign.py:140
+msgid "file operation"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:154
+msgid "cannot obtain next serial number"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:189
+msgid "certutil failure"
+msgstr ""
+
+#: ipa-client/config.c:55
+#, c-format
+msgid "cannot open configuration file %s\n"
+msgstr ""
+
+#: ipa-client/config.c:62
+#, c-format
+msgid "cannot stat() configuration file %s\n"
+msgstr ""
+
+#: ipa-client/config.c:68
+#, c-format
+msgid "out of memory\n"
+msgstr ""
+
+#: ipa-client/config.c:79
+#, c-format
+msgid "read error\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:85 ipa-client/ipa-getkeytab.c:821
+#: ipa-client/ipa-rmkeytab.c:190
+#, c-format
+msgid "Kerberos context initialization failed\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:147 ipa-client/ipa-getkeytab.c:834
+#, c-format
+msgid "No system preferred enctypes ?!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:155
+#, c-format
+msgid "Out of memory!?\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:173 ipa-client/ipa-getkeytab.c:188
+#, c-format
+msgid "Out of memory\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:203
+#, c-format
+msgid "Warning unrecognized encryption type: [%s]\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:218
+#, c-format
+msgid "Warning unrecognized salt type: [%s]\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:245
+#, c-format
+msgid "Enctype comparison failed!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:307
+#, c-format
+msgid "Failed to create random key!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:320 ipa-client/ipa-getkeytab.c:337
+#: ipa-client/ipa-getkeytab.c:345 ipa-client/ipa-getkeytab.c:382
+#, c-format
+msgid "Failed to create key!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:327 ipa-client/ipa-getkeytab.c:360
+#: ipa-client/ipa-join.c:417 ipa-client/ipa-join.c:426
+#: ipa-client/ipa-join.c:563 ipa-client/ipa-join.c:751
+#: ipa-client/ipa-join.c:819
+#, c-format
+msgid "Out of memory!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:371
+#, c-format
+msgid "Bad or unsupported salt type (%d)!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:492
+#, c-format
+msgid "No keys accepted by KDC\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:507
+#, c-format
+msgid "Out of memory \n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:545
+#, c-format
+msgid "Out of Memory!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:552
+#, c-format
+msgid "Failed to create control!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:576
+#, c-format
+msgid "Unable to initialize ldap library!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:583
+#, c-format
+msgid "Unable to set ldap options!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:596
+#, c-format
+msgid "Simple bind failed\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:606
+#, c-format
+msgid "SASL Bind failed!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:622 ipa-client/ipa-getkeytab.c:635
+#: ipa-client/ipa-getkeytab.c:642 ipa-client/ipa-getkeytab.c:649
+#, c-format
+msgid "Operation failed! %s\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:655 ipa-client/ipa-getkeytab.c:665
+#, c-format
+msgid "Missing reply control!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:672
+#, c-format
+msgid "ber_init() failed, Invalid control ?!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:691 ipa-client/ipa-getkeytab.c:698
+#, c-format
+msgid "ber_scanf() failed, Invalid control ?!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:736
+msgid "New Principal Password"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:742
+msgid "Verify Principal Password"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:776
+msgid "Print as little as possible"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:776
+msgid "Output only on errors"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:778
+msgid "Contact this specific KDC Server"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:779
+msgid "Server Name"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:781 ipa-client/ipa-rmkeytab.c:171
+msgid ""
+"The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:782 ipa-client/ipa-rmkeytab.c:172
+msgid "Kerberos Service Principal Name"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:784 ipa-client/ipa-rmkeytab.c:174
+msgid "File were to store the keytab information"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:785 ipa-client/ipa-rmkeytab.c:174
+msgid "Keytab File Name"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:787
+msgid "Encryption types to request"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:788
+msgid "Comma separated encryption types list"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:790
+msgid "Show the list of permitted encryption types and exit"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:791
+msgid "Permitted Encryption Types"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:793
+msgid "Asks for a non-random password to use for the principal"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:795
+msgid "LDAP DN"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:795
+msgid "DN to bind as if not using kerberos"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:797
+msgid "LDAP password"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:797
+msgid "password to use if not using kerberos"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:837
+#, c-format
+msgid "Supported encryption types:\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:841
+#, c-format
+msgid "Warning: failed to convert type (#%d)\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:860
+#, c-format
+msgid "Bind password required when using a bind DN.\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:873
+#, c-format
+msgid ""
+"Warning: salt types are not honored with randomized passwords (see opt. "
+"-P)\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:885
+#, c-format
+msgid "Invalid Service Principal Name\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:893
+#, c-format
+msgid "Kerberos Credential Cache not found. Do you have a Kerberos Ticket?\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:901
+#, c-format
+msgid ""
+"Kerberos User Principal not found. Do you have a valid Credential Cache?\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:909
+#, c-format
+msgid "Failed to open Keytab\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:916
+#, c-format
+msgid "Failed to create key material\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:935
+#, c-format
+msgid "Failed to add key to the keytab\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:944
+#, c-format
+msgid "Failed to close the keytab\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:950
+#, c-format
+msgid "Keytab successfully retrieved and stored in: %s\n"
+msgstr ""
+
+#: ipa-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
+#, c-format
+msgid "No write permissions on keytab file '%s'\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:111
+#, c-format
+msgid "access() on %s failed: errno = %d\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:143 ipa-client/ipa-join.c:197
+#, c-format
+msgid "Out of memory!"
+msgstr ""
+
+#: ipa-client/ipa-join.c:204
+#, c-format
+msgid "Unable to initialize connection to ldap server: %s"
+msgstr ""
+
+#: ipa-client/ipa-join.c:210
+#, c-format
+msgid "Unable to enable SSL in LDAP\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:216
+#, c-format
+msgid "Unable to set LDAP version\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:236
+#, c-format
+msgid "Bind failed: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:269
+#, c-format
+msgid "Search for %s on rootdse failed with error %d"
+msgstr ""
+
+#: ipa-client/ipa-join.c:279 ipa-client/ipa-join.c:331
+#, c-format
+msgid "No values for %s"
+msgstr ""
+
+#: ipa-client/ipa-join.c:322
+#, c-format
+msgid "Search for ipaCertificateSubjectBase failed with error %d"
+msgstr ""
+
+#: ipa-client/ipa-join.c:390
+#, c-format
+msgid "Unable to determine root DN of %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:399
+#, c-format
+msgid "Unable to determine certificate subject of %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:407
+#, c-format
+msgid "Unable to make an LDAP connection to %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:432
+#, c-format
+msgid "Searching with %s in %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:438
+#, c-format
+msgid "ldap_search_ext_s: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:446
+#, c-format
+msgid "Unable to find host '%s'\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:453
+#, c-format
+msgid "Unable to get binddn for host '%s'\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:466
+#, c-format
+msgid "Host already has principal, trying bind anyway\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:480 ipa-client/ipa-join.c:633
+#, c-format
+msgid "Host is already joined.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:484
+#, c-format
+msgid "Incorrect password.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:495
+#, c-format
+msgid "principal not found in host entry\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:618
+#, c-format
+msgid "principal not found in XML-RPC response\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:699 ipa-client/ipa-join.c:900
+#, c-format
+msgid "Unable to determine IPA server from %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:715 ipa-client/ipa-join.c:915
+#, c-format
+msgid "The hostname must be fully-qualified: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:724 ipa-client/ipa-join.c:925
+#, c-format
+msgid "Unable to join host: Kerberos context initialization failed\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:732
+#, c-format
+msgid "Error resolving keytab: %s.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:741
+#, c-format
+msgid "Error getting default Kerberos realm: %s.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:759
+#, c-format
+msgid "Error parsing \"%s\": %s.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:777
+#, c-format
+msgid "Error obtaining initial credentials: %s.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:788
+#, c-format
+msgid "Unable to generate Kerberos Credential Cache\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:796
+#, c-format
+msgid "Error storing creds in credential cache: %s.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:846
+#, c-format
+msgid "Unenrollment successful.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:849
+#, c-format
+msgid "Unenrollment failed.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:854
+#, c-format
+msgid "result not found in XML-RPC response\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:932
+#, c-format
+msgid "Unable to join host: Kerberos Credential Cache not found\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:940
+#, c-format
+msgid ""
+"Unable to join host: Kerberos User Principal not found and host password not"
+" provided.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:954
+#, c-format
+msgid "fork() failed\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:983
+#, c-format
+msgid "ipa-getkeytab not found\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:986
+#, c-format
+msgid "ipa-getkeytab has bad permissions?\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:989
+#, c-format
+msgid "executing ipa-getkeytab failed, errno %d\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1001
+#, c-format
+msgid "child exited with %d\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1007
+#, c-format
+msgid "Certificate subject base is: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1042
+msgid "Print the raw XML-RPC output in GSSAPI mode"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1044
+msgid "Quiet mode. Only errors are displayed."
+msgstr ""
+
+#: ipa-client/ipa-join.c:1046
+msgid "Unenroll this host from IPA server"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1048
+msgid "Hostname of this server"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1048 ipa-client/ipa-join.c:1050
+msgid "hostname"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1050
+msgid "IPA Server to use"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1052
+msgid "Specifies where to store keytab information."
+msgstr ""
+
+#: ipa-client/ipa-join.c:1052
+msgid "filename"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1054
+msgid "LDAP password (if not using Kerberos)"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1054
+msgid "password"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:43
+#, c-format
+msgid "Unable to parse principal name\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:45
+#, c-format
+msgid "krb5_parse_name %d: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:55
+#, c-format
+msgid "Removing principal %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:68
+#, c-format
+msgid "Failed to open keytab\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:72
+#, c-format
+msgid "principal not found\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:74
+#, c-format
+msgid "krb5_kt_get_entry %d: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:82
+#, c-format
+msgid "Unable to remove entry\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:84
+#, c-format
+msgid "kvno %d\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:85
+#, c-format
+msgid "krb5_kt_remove_entry %d: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:119
+#, c-format
+msgid "Unable to parse principal\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:121
+#, c-format
+msgid "krb5_unparse_name %d: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:143
+#, c-format
+msgid "realm not found\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:169
+msgid "Print debugging information"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:169
+msgid "Debugging output"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:176
+msgid "Remove all principals in this realm"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:176
+msgid "Realm name"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:230 ipa-client/ipa-rmkeytab.c:237
+#, c-format
+msgid "Failed to open keytab '%s': %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:253
+#, c-format
+msgid "Closing keytab failed\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:255
+#, c-format
+msgid "krb5_kt_close %d: %s\n"
+msgstr ""
+
+
diff --git a/install/po/el.po b/install/po/el.po
new file mode 100644
index 0000000..a4a2fad
--- /dev/null
+++ b/install/po/el.po
@@ -0,0 +1,7813 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Red Hat
+# This file is distributed under the same license as the PACKAGE package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeIPA\n"
+"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?product=freeIPA\n"
+"POT-Creation-Date: 2011-06-06 13:27-0400\n"
+"PO-Revision-Date: 2011-08-17 23:22+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Greek <trans-el@lists.fedoraproject.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: el\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: ipalib/plugins/__init__.py:20
+msgid ""
+"\n"
+"Sub-package containing all core plugins.\n"
+msgstr ""
+
+#: ipalib/plugins/aci.py:20
+msgid ""
+"\n"
+"Directory Server Access Control Instructions (ACIs)\n"
+"\n"
+"ACIs are used to allow or deny access to information. This module is\n"
+"currently designed to allow, not deny, access.\n"
+"\n"
+"The aci commands are designed to grant permissions that allow updating\n"
+"existing entries or adding or deleting new ones. The goal of the ACIs\n"
+"that ship with IPA is to provide a set of low-level permissions that\n"
+"grant access to special groups called taskgroups. These low-level\n"
+"permissions can be combined into roles that grant broader access. These\n"
+"roles are another type of group, roles.\n"
+"\n"
+"For example, if you have taskgroups that allow adding and modifying users you\n"
+"could create a role, useradmin. You would assign users to the useradmin\n"
+"role to allow them to do the operations defined by the taskgroups.\n"
+"\n"
+"You can create ACIs that delegate permission so users in group A can write\n"
+"attributes on group B.\n"
+"\n"
+"The type option is a map that applies to all entries in the users, groups or\n"
+"host location. It is primarily designed to be used when granting add\n"
+"permissions (to write new entries).\n"
+"\n"
+"An ACI consists of three parts:\n"
+"1. target\n"
+"2. permissions\n"
+"3. bind rules\n"
+"\n"
+"The target is a set of rules that define which LDAP objects are being\n"
+"targeted. This can include a list of attributes, an area of that LDAP\n"
+"tree or an LDAP filter.\n"
+"\n"
+"The targets include:\n"
+"- attrs: list of attributes affected\n"
+"- type: an object type (user, group, host, service, etc)\n"
+"- memberof: members of a group\n"
+"- targetgroup: grant access to modify a specific group. This is primarily\n"
+" designed to enable users to add or remove members of a specific group.\n"
+"- filter: A legal LDAP filter used to narrow the scope of the target.\n"
+"- subtree: Used to apply a rule across an entire set of objects. For example,\n"
+" to allow adding users you need to grant \"add\" permission to the subtree\n"
+" ldap://uid=*,cn=users,cn=accounts,dc=example,dc=com. The subtree option\n"
+" is a fail-safe for objects that may not be covered by the type option.\n"
+"\n"
+"The permissions define what the the ACI is allowed to do, and are one or\n"
+"more of:\n"
+"1. write - write one or more attributes\n"
+"2. read - read one or more attributes\n"
+"3. add - add a new entry to the tree\n"
+"4. delete - delete an existing entry\n"
+"5. all - all permissions are granted\n"
+"\n"
+"Note the distinction between attributes and entries. The permissions are\n"
+"independent, so being able to add a user does not mean that the user will\n"
+"be editable.\n"
+"\n"
+"The bind rule defines who this ACI grants permissions to. The LDAP server\n"
+"allows this to be any valid LDAP entry but we encourage the use of\n"
+"taskgroups so that the rights can be easily shared through roles.\n"
+"\n"
+"For a more thorough description of access controls see\n"
+"http://www.redhat.com/docs/manuals/dir-server/ag/8.0/Managing_Access_Control.html\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+"NOTE: ACIs are now added via the permission plugin. These examples are to\n"
+"demonstrate how the various options work but this is done via the permission\n"
+"command-line now (see last example).\n"
+"\n"
+" Add an ACI so that the group \"secretaries\" can update the address on any user:\n"
+" ipa group-add --desc=\"Office secretaries\" secretaries\n"
+" ipa aci-add --attrs=streetAddress --memberof=ipausers --group=secretaries --permissions=write --prefix=none \"Secretaries write addresses\"\n"
+"\n"
+" Show the new ACI:\n"
+" ipa aci-show --prefix=none \"Secretaries write addresses\"\n"
+"\n"
+" Add an ACI that allows members of the \"addusers\" permission to add new users:\n"
+" ipa aci-add --type=user --permission=addusers --permissions=add --prefix=none \"Add new users\"\n"
+"\n"
+" Add an ACI that allows members of the editors manage members of the admins group:\n"
+" ipa aci-add --permissions=write --attrs=member --targetgroup=admins --group=editors --prefix=none \"Editors manage admins\"\n"
+"\n"
+" Add an ACI that allows members of the admin group to manage the street and zip code of those in the editors group:\n"
+" ipa aci-add --permissions=write --memberof=editors --group=admins --attrs=street,postalcode --prefix=none \"admins edit the address of editors\"\n"
+"\n"
+" Add an ACI that allows the admins group manage the street and zipcode of those who work for the boss:\n"
+" ipa aci-add --permissions=write --group=admins --attrs=street,postalcode --filter=\"(manager=uid=boss,cn=users,cn=accounts,dc=example,dc=com)\" --prefix=none \"Edit the address of those who work for the boss\"\n"
+"\n"
+" Add an entirely new kind of record to IPA that isn't covered by any of the --type options, creating a permission:\n"
+" ipa permission-add --permissions=add --subtree=\"cn=*,cn=orange,cn=accounts,dc=example,dc=com\" --desc=\"Add Orange Entries\" add_orange\n"
+"\n"
+"\n"
+"The show command shows the raw 389-ds ACI.\n"
+"\n"
+"IMPORTANT: When modifying the target attributes of an existing ACI you\n"
+"must include all existing attributes as well. When doing an aci-mod the\n"
+"targetattr REPLACES the current attributes, it does not add to them.\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/aci.py:153
+msgid "A list of ACI values"
+msgstr ""
+
+#: ipalib/plugins/aci.py:172
+msgid ""
+"\n"
+" Given a name and a prefix construct an ACI name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:181
+msgid ""
+"\n"
+" Parse the raw ACI name and return a tuple containing the ACI prefix\n"
+" and the actual ACI name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:193
+msgid ""
+"\n"
+" Pull the group name out of a memberOf filter\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:204
+msgid ""
+"\n"
+" Given a name and a set of keywords construct an ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:215
+msgid "type, filter, subtree and targetgroup are mutually exclusive"
+msgstr ""
+
+#: ipalib/plugins/aci.py:218
+msgid "ACI prefix is required"
+msgstr ""
+
+#: ipalib/plugins/aci.py:221
+msgid ""
+"at least one of: type, filter, subtree, targetgroup, attrs or memberof are "
+"required"
+msgstr ""
+
+#: ipalib/plugins/aci.py:224
+msgid "filter and memberof are mutually exclusive"
+msgstr ""
+
+#: ipalib/plugins/aci.py:230
+msgid "group, permission and self are mutually exclusive"
+msgstr ""
+
+#: ipalib/plugins/aci.py:232
+msgid "One of group, permission or self is required"
+msgstr ""
+
+#: ipalib/plugins/aci.py:251
+msgid "Group '%s' does not exist"
+msgstr ""
+
+#: ipalib/plugins/aci.py:273
+msgid "empty filter"
+msgstr ""
+
+#: ipalib/plugins/aci.py:294
+msgid "Syntax Error: %(error)s"
+msgstr ""
+
+#: ipalib/plugins/aci.py:299
+msgid ""
+"Convert an ACI into its equivalent keywords.\n"
+"\n"
+" This is used for the modify operation so we can merge the\n"
+" incoming kw and existing ACI and pass the result to\n"
+" _make_aci().\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:379
+msgid "ACI with name \"%s\" not found"
+msgstr ""
+
+#: ipalib/plugins/aci.py:400
+msgid "ACI prefix"
+msgstr ""
+
+#: ipalib/plugins/aci.py:401
+msgid ""
+"Prefix used to distinguish ACI types (permission, delegation, selfservice, "
+"none)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:407
+msgid ""
+"\n"
+" ACI object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:412
+msgid "ACIs"
+msgstr ""
+
+#: ipalib/plugins/aci.py:417
+msgid "ACI name"
+msgstr ""
+
+#: ipalib/plugins/aci.py:422
+msgid "Permission"
+msgstr ""
+
+#: ipalib/plugins/aci.py:423
+msgid "Permission ACI grants access to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:427 ipalib/plugins/delegation.py:130
+msgid "User group"
+msgstr ""
+
+#: ipalib/plugins/aci.py:428 ipalib/plugins/delegation.py:131
+msgid "User group ACI grants access to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:432 ipalib/plugins/baseldap.py:60
+#: ipalib/plugins/delegation.py:113 ipalib/plugins/permission.py:107
+#: ipalib/plugins/permission.py:118 ipalib/plugins/selfservice.py:86
+msgid "Permissions"
+msgstr ""
+
+#: ipalib/plugins/aci.py:433
+msgid ""
+"comma-separated list of permissions to grant(read, write, add, delete, all)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:439 ipalib/plugins/delegation.py:119
+#: ipalib/plugins/permission.py:124 ipalib/plugins/selfservice.py:92
+msgid "Attributes"
+msgstr ""
+
+#: ipalib/plugins/aci.py:440 ipalib/plugins/delegation.py:120
+#: ipalib/plugins/permission.py:125 ipalib/plugins/selfservice.py:93
+msgid "Comma-separated list of attributes"
+msgstr ""
+
+#: ipalib/plugins/aci.py:444 ipalib/plugins/internal.py:164
+#: ipalib/plugins/permission.py:131
+msgid "Type"
+msgstr ""
+
+#: ipalib/plugins/aci.py:445
+msgid "type of IPA object (user, group, host, hostgroup, service, netgroup)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:450
+msgid "Member of"
+msgstr ""
+
+#: ipalib/plugins/aci.py:451
+msgid "Member of a group"
+msgstr ""
+
+#: ipalib/plugins/aci.py:455 ipalib/plugins/internal.py:234
+#: ipalib/plugins/permission.py:144
+msgid "Filter"
+msgstr ""
+
+#: ipalib/plugins/aci.py:456 ipalib/plugins/permission.py:145
+msgid "Legal LDAP filter (e.g. ou=Engineering)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:460 ipalib/plugins/permission.py:150
+msgid "Subtree"
+msgstr ""
+
+#: ipalib/plugins/aci.py:461
+msgid "Subtree to apply ACI to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:465 ipalib/plugins/permission.py:156
+msgid "Target group"
+msgstr ""
+
+#: ipalib/plugins/aci.py:466
+msgid "Group to apply ACI to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:470
+msgid "Target your own entry (self)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:471
+msgid "Apply ACI to your own entry (self)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:478
+msgid ""
+"\n"
+" Create new ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:482
+msgid "Created ACI \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/aci.py:487
+msgid "Test the ACI syntax but don't write anything"
+msgstr ""
+
+#: ipalib/plugins/aci.py:493
+msgid ""
+"\n"
+" Execute the aci-create operation.\n"
+"\n"
+" Returns the entry as it will be created in LDAP.\n"
+"\n"
+" :param aciname: The name of the ACI being added.\n"
+" :param kw: Keyword arguments for the other LDAP attributes.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:533
+msgid ""
+"\n"
+" Delete ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:538
+msgid "Deleted ACI \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/aci.py:543
+msgid ""
+"\n"
+" Execute the aci-delete operation.\n"
+"\n"
+" :param aciname: The name of the ACI being added.\n"
+" :param kw: unused\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:576
+msgid ""
+"\n"
+" Modify ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:582 ipalib/plugins/aci.py:830
+#: ipalib/plugins/aci.py:871 ipalib/plugins/delegation.py:255
+#: ipalib/plugins/selfservice.py:212
+msgid "ACI"
+msgstr ""
+
+#: ipalib/plugins/aci.py:588
+msgid "Modified ACI \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/aci.py:633
+msgid ""
+"\n"
+" Search for ACIs.\n"
+"\n"
+" Returns a list of ACIs\n"
+"\n"
+" EXAMPLES:\n"
+"\n"
+" To find all ACIs that apply directly to members of the group ipausers:\n"
+" ipa aci-find --memberof=ipausers\n"
+"\n"
+" To find all ACIs that grant add access:\n"
+" ipa aci-find --permissions=add\n"
+"\n"
+" Note that the find command only looks for the given text in the set of\n"
+" ACIs, it does not evaluate the ACIs to see if something would apply.\n"
+" For example, searching on memberof=ipausers will find all ACIs that\n"
+" have ipausers as a memberof. There may be other ACIs that apply to\n"
+" members of that group indirectly.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:653
+msgid "%(count)d ACI matched"
+msgid_plural "%(count)d ACIs matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/aci.py:823
+msgid ""
+"\n"
+" Display a single ACI given an ACI name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:837
+msgid ""
+"\n"
+" Execute the aci-show operation.\n"
+"\n"
+" Returns the entry\n"
+"\n"
+" :param uid: The login name of the user to retrieve.\n"
+" :param kw: unused\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:865
+msgid ""
+"\n"
+" Rename an ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:878
+msgid "New ACI name"
+msgstr ""
+
+#: ipalib/plugins/aci.py:882
+msgid "Renamed ACI to \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/automount.py:20
+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"
+"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"
+" 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/automount.py:182
+msgid ""
+"\n"
+" Location container for automount maps.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:190
+msgid "Automount Locations"
+msgstr ""
+
+#: ipalib/plugins/automount.py:196 ipalib/plugins/host.py:247
+msgid "Location"
+msgstr ""
+
+#: ipalib/plugins/automount.py:197
+msgid "Automount location name."
+msgstr ""
+
+#: ipalib/plugins/automount.py:206
+msgid ""
+"\n"
+" Create a new automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:221
+msgid ""
+"\n"
+" Delete an automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:229
+msgid ""
+"\n"
+" Display an automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:237
+msgid ""
+"\n"
+" Search for an automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:245
+msgid ""
+"\n"
+" Generate automount files for a specific location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:308
+msgid ""
+"\n"
+" Import automount files for a specific location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:314
+msgid "Master file"
+msgstr ""
+
+#: ipalib/plugins/automount.py:315
+msgid "Automount master file."
+msgstr ""
+
+#: ipalib/plugins/automount.py:322
+msgid ""
+"Continuous operation mode. Errors are reported but the process continues."
+msgstr ""
+
+#: ipalib/plugins/automount.py:334
+msgid "File %(file)s not found"
+msgstr ""
+
+#: ipalib/plugins/automount.py:341
+msgid ""
+"\n"
+" The basic idea is to read the master file and create all the maps\n"
+" we need, then read each map file and add all the keys for the map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:492
+msgid ""
+"\n"
+" Automount map object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:505
+msgid "Map"
+msgstr ""
+
+#: ipalib/plugins/automount.py:506
+msgid "Automount map name."
+msgstr ""
+
+#: ipalib/plugins/automount.py:511 ipalib/plugins/group.py:114
+#: ipalib/plugins/hbacrule.py:171 ipalib/plugins/hbacsvc.py:73
+#: ipalib/plugins/hbacsvcgroup.py:75 ipalib/plugins/host.py:237
+#: ipalib/plugins/hostgroup.py:85 ipalib/plugins/netgroup.py:109
+#: ipalib/plugins/privilege.py:76 ipalib/plugins/role.py:92
+#: ipalib/plugins/sudocmd.py:74 ipalib/plugins/sudocmdgroup.py:76
+#: ipalib/plugins/sudorule.py:78
+msgid "Description"
+msgstr ""
+
+#: ipalib/plugins/automount.py:515
+msgid "Automount Maps"
+msgstr ""
+
+#: ipalib/plugins/automount.py:521
+msgid ""
+"\n"
+" Create a new automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:529
+msgid ""
+"\n"
+" Delete an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:548
+msgid ""
+"\n"
+" Modify an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:556
+msgid ""
+"\n"
+" Search for an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:564
+msgid ""
+"\n"
+" Display an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:572
+msgid ""
+"\n"
+" Automount key object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:589 ipalib/plugins/automount.py:778
+#: ipalib/plugins/automount.py:850
+msgid "Key"
+msgstr ""
+
+#: ipalib/plugins/automount.py:590 ipalib/plugins/automount.py:779
+#: ipalib/plugins/automount.py:851
+msgid "Automount key name."
+msgstr ""
+
+#: ipalib/plugins/automount.py:594 ipalib/plugins/automount.py:783
+#: ipalib/plugins/automount.py:855
+msgid "Mount information"
+msgstr ""
+
+#: ipalib/plugins/automount.py:597
+msgid "description"
+msgstr ""
+
+#: ipalib/plugins/automount.py:606
+msgid "Automount Keys"
+msgstr ""
+
+#: ipalib/plugins/automount.py:607
+msgid ""
+"The key,info pair must be unique. A key named %(key)s with info %(info)s "
+"already exists"
+msgstr ""
+
+#: ipalib/plugins/automount.py:608
+msgid "key named %(key)s already exists"
+msgstr ""
+
+#: ipalib/plugins/automount.py:609
+msgid "The automount key %(key)s with info %(info)s does not exist"
+msgstr ""
+
+#: ipalib/plugins/automount.py:659
+msgid ""
+"More than one entry with key %(key)s found, use --info to select specific "
+"entry."
+msgstr ""
+
+#: ipalib/plugins/automount.py:717
+msgid ""
+"\n"
+" Create a new automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:742
+msgid ""
+"\n"
+" Create a new indirect mount point.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:748
+msgid "Mount point"
+msgstr ""
+
+#: ipalib/plugins/automount.py:752
+msgid "Parent map"
+msgstr ""
+
+#: ipalib/plugins/automount.py:753
+msgid "Name of parent automount map (default: auto.master)."
+msgstr ""
+
+#: ipalib/plugins/automount.py:772
+msgid ""
+"\n"
+" Delete an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:803
+msgid ""
+"\n"
+" Modify an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:809
+msgid "New mount information"
+msgstr ""
+
+#: ipalib/plugins/automount.py:836
+msgid ""
+"\n"
+" Search for an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:844
+msgid ""
+"\n"
+" Display an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:19
+msgid ""
+"\n"
+"Base classes for LDAP plugins.\n"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:39
+msgid "Failed members"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:42
+msgid "Member users"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:45
+msgid "Member groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:48
+msgid "Member of groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:51
+msgid "Member hosts"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:54
+msgid "Member host-groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:57
+msgid "Member of host-groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:66
+msgid "Roles"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:69 ipalib/plugins/sudocmdgroup.py:65
+#: ipalib/plugins/sudocmdgroup.py:84 ipalib/plugins/sudorule.py:139
+#: ipalib/plugins/sudorule.py:143
+msgid "Sudo Command Groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:75
+msgid "Granting privilege to roles"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:78
+msgid "Member netgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:81
+msgid "Member of netgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:84
+msgid "Member services"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:87
+msgid "Member service groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:93
+msgid "Member HBAC service groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:102
+msgid "Indirect Member users"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:105
+msgid "Indirect Member groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:108
+msgid "Indirect Member hosts"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:111
+msgid "Indirect Member host-groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:114
+msgid "Indirect Member of roles"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:117
+msgid "Indirect Member permissions"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:120
+msgid "Indirect Member HBAC service"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:123
+msgid "Indirect Member HBAC service group"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:126
+msgid "Indirect Member netgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:141
+msgid "External host"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:144
+msgid "Failed hosts/hostgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:147
+msgid "Failed users/groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:150
+msgid "Failed managedby"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:153
+msgid "Failed to remove"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:171
+msgid ""
+"\n"
+" Given a list of values in the form name=value, return a list of name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:197
+msgid ""
+"\n"
+" When adding or removing reverse members we are faking an update to\n"
+" object A by updating the member attribute in object B. The memberof\n"
+" plugin makes this work by adding or removing the memberof attribute\n"
+" to/from object A, it just takes a little bit of time.\n"
+"\n"
+" This will loop for 6+ seconds, retrieving object A so we can see\n"
+" if all the memberof attributes have been updated.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:241
+msgid ""
+"\n"
+" Object representing a LDAP entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:281
+msgid "Entry"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:283
+msgid "container entry (%(container)s) not found"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:284
+msgid "%(parent)s: %(oname)s not found"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:285
+msgid "%(pkey)s: %(oname)s not found"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:286
+msgid "%(oname)s with name \"%(pkey)s\" already exists"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:415
+msgid ""
+"Add an attribute/value pair. Format is attr=value. The attribute must be "
+"part of the schema."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:420
+msgid ""
+"Set an attribute to a name/value pair. Format is attr=value.\n"
+"For multi-valued attributes, the command replaces the values already present."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:444
+msgid ""
+"\n"
+" If the set of objectclasses is limited enforce that only those\n"
+" are updated in entry_attrs (plus dn)\n"
+"\n"
+" allow_only tells us what mode to check in:\n"
+"\n"
+" If True then we enforce that the attributes must be in the list of\n"
+" allowed.\n"
+"\n"
+" If False then those attributes are not allowed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:474
+msgid ""
+"\n"
+" Callback registration interface\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:561
+msgid ""
+"\n"
+" Create a new entry in LDAP.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:703
+msgid ""
+"\n"
+" Base class for commands that need to retrieve an existing entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:727
+msgid ""
+"\n"
+" Base class for commands that need to retrieve one or more existing entries.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:733
+msgid "Continuous mode: Don't stop on errors."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:750
+msgid ""
+"\n"
+" Retrieve an LDAP entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:758 ipalib/plugins/baseldap.py:827
+#: ipalib/plugins/internal.py:232
+msgid "Rights"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:759 ipalib/plugins/baseldap.py:828
+msgid ""
+"Display the access rights of this entry (requires --all). See ipa man page "
+"for details."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:821
+msgid ""
+"\n"
+" Update an LDAP entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:837
+msgid "Rename"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:838
+msgid "Rename the %(ldap_obj_name)s object"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:957
+msgid "the entry was deleted while being modified"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:988
+msgid ""
+"\n"
+" Delete an LDAP entry and all of its direct subentries.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1078
+msgid ""
+"\n"
+" Base class for member manipulation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1120
+msgid ""
+"\n"
+" Add other LDAP entries to members.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1131 ipalib/plugins/baseldap.py:1592
+#: ipalib/plugins/privilege.py:165 ipalib/plugins/privilege.py:191
+#: ipalib/plugins/role.py:179 ipalib/plugins/role.py:203
+msgid "Members that could not be added"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1135 ipalib/plugins/baseldap.py:1596
+msgid "Number of members added"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1226
+msgid ""
+"\n"
+" Remove LDAP entries from members.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1236 ipalib/plugins/baseldap.py:1705
+msgid "Members that could not be removed"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1240 ipalib/plugins/baseldap.py:1709
+msgid "Number of members removed"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1335
+msgid ""
+"\n"
+" Retrieve all LDAP entries matching the given criteria.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1344
+msgid "Time Limit"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1345
+msgid "Time limit of search in seconds"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1351
+msgid "Size Limit"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1352
+msgid "Maximum number of entries returned"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1552
+msgid ""
+"\n"
+" Base class for reverse member manipulation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1574
+msgid ""
+"\n"
+" Add other LDAP entries to members in reverse.\n"
+"\n"
+" The call looks like \"add A to B\" but in fact executes\n"
+" add B to A to handle reverse membership.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1654
+msgid "added"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1687
+msgid ""
+"\n"
+" Remove other LDAP entries from members in reverse.\n"
+"\n"
+" The call looks like \"remove A from B\" but in fact executes\n"
+" remove B from A to handle reverse membership.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1767
+msgid "removed"
+msgstr ""
+
+#: ipalib/plugins/batch.py:21
+msgid ""
+"\n"
+"Plugin to make multiple ipa calls via one remote procedure call\n"
+"\n"
+"To run this code in the lite-server\n"
+"\n"
+"curl -H \"Content-Type:application/json\" -H \"Accept:application/json\" -H \"Accept-Language:en\" --negotiate -u : --cacert /etc/ipa/ca.crt -d @batch_request.json -X POST http://localhost:8888/ipa/json\n"
+"\n"
+"where the contents of the file batch_request.json follow the below example\n"
+"\n"
+"{\"method\":\"batch\",\"params\":[[\n"
+" {\"method\":\"group_find\",\"params\":[[],{}]},\n"
+" {\"method\":\"user_find\",\"params\":[[],{\"whoami\":\"true\",\"all\":\"true\"}]},\n"
+" {\"method\":\"user_show\",\"params\":[[\"admin\"],{\"all\":true}]}\n"
+" ],{}],\"id\":1}\n"
+"\n"
+"The format of the response is nested the same way. At the top you will see\n"
+" \"error\": null,\n"
+" \"id\": 1,\n"
+" \"result\": {\n"
+" \"count\": 3,\n"
+" \"results\": [\n"
+"\n"
+"\n"
+"And then a nested response for each IPA command method sent in the request\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/batch.py:61
+msgid "Nested Methods to execute"
+msgstr ""
+
+#: ipalib/plugins/batch.py:68 ipalib/frontend.py:861
+msgid "Client version. Used to determine if server will accept request."
+msgstr ""
+
+#: ipalib/plugins/cert.py:22
+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"
+"If using the selfsign back end then the subject in the CSR needs to match\n"
+"the subject configured in the server. The dogtag CA uses just the CN\n"
+"value of the CSR and forces the rest of the subject.\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"
+"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"
+"IPA currently immediately issues (or declines) all certificate requests so\n"
+"the status of a request is not normally useful. This is for future use\n"
+"or the case where a CA does not immediately issue a certificate.\n"
+"\n"
+"The following revocation reasons are supported:\n"
+"\n"
+" * 0 - unspecified\n"
+" * 1 - keyCompromise\n"
+" * 2 - cACompromise\n"
+" * 3 - affiliationChanged\n"
+" * 4 - superseded\n"
+" * 5 - cessationOfOperation\n"
+" * 6 - certificateHold\n"
+" * 8 - removeFromCRL\n"
+" * 9 - privilegeWithdrawn\n"
+" * 10 - aACompromise\n"
+"\n"
+"Note that reason code 7 is not used. See RFC 5280 for more details:\n"
+"\n"
+"http://www.ietf.org/rfc/rfc5280.txt\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/cert.py:104
+msgid ""
+"\n"
+" Return the value of CN in the subject of the request or None\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:112
+msgid "Failure decoding Certificate Signing Request:"
+msgstr ""
+
+#: ipalib/plugins/cert.py:115
+msgid ""
+"\n"
+" Return the first value of the subject alt name, if any\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:125 ipalib/plugins/cert.py:137
+msgid "Failure decoding Certificate Signing Request"
+msgstr ""
+
+#: ipalib/plugins/cert.py:128
+msgid ""
+"\n"
+" Ensure the CSR is base64-encoded and can be decoded by our PKCS#10\n"
+" parser.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:139
+msgid "Failure decoding Certificate Signing Request: %s"
+msgstr ""
+
+#: ipalib/plugins/cert.py:142
+msgid ""
+"\n"
+" Strip any leading and trailing cruft around the BEGIN/END block\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:162
+msgid ""
+"\n"
+" Convert a SN given in decimal or hexadecimal.\n"
+" Returns the number or None if conversion fails.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:188
+msgid ""
+"\n"
+" Given a principal with or without a realm return the\n"
+" host portion.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:202
+msgid ""
+"\n"
+" Submit a certificate signing request.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:216 ipalib/plugins/service.py:225
+msgid "Principal"
+msgstr ""
+
+#: ipalib/plugins/cert.py:217
+msgid "Service principal for this certificate (e.g. HTTP/test.example.com)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:224
+msgid "automatically add the principal if it doesn't exist"
+msgstr ""
+
+#: ipalib/plugins/cert.py:232 ipalib/plugins/cert.py:439
+#: ipalib/plugins/entitle.py:173 ipalib/plugins/host.py:276
+#: ipalib/plugins/service.py:232
+msgid "Certificate"
+msgstr ""
+
+#: ipalib/plugins/cert.py:236 ipalib/plugins/cert.py:442
+#: ipalib/plugins/host.py:159 ipalib/plugins/service.py:93
+msgid "Subject"
+msgstr ""
+
+#: ipalib/plugins/cert.py:240 ipalib/plugins/cert.py:445
+#: ipalib/plugins/host.py:165 ipalib/plugins/service.py:99
+msgid "Issuer"
+msgstr ""
+
+#: ipalib/plugins/cert.py:244 ipalib/plugins/cert.py:448
+#: ipalib/plugins/host.py:168 ipalib/plugins/service.py:102
+msgid "Not Before"
+msgstr ""
+
+#: ipalib/plugins/cert.py:248 ipalib/plugins/cert.py:451
+#: ipalib/plugins/host.py:171 ipalib/plugins/service.py:105
+msgid "Not After"
+msgstr ""
+
+#: ipalib/plugins/cert.py:252 ipalib/plugins/cert.py:454
+#: ipalib/plugins/host.py:174 ipalib/plugins/service.py:108
+msgid "Fingerprint (MD5)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:256 ipalib/plugins/cert.py:457
+#: ipalib/plugins/host.py:177 ipalib/plugins/service.py:111
+msgid "Fingerprint (SHA1)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:260 ipalib/plugins/cert.py:425
+msgid "Serial number"
+msgstr ""
+
+#: ipalib/plugins/cert.py:268 ipalib/plugins/entitle.py:230
+#: ipalib/plugins/entitle.py:588 ipalib/plugins/misc.py:57
+msgid "Dictionary mapping variable name to value"
+msgstr ""
+
+#: ipalib/plugins/cert.py:396
+msgid ""
+"\n"
+" Check the status of a certificate signing request.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:402
+msgid "Request id"
+msgstr ""
+
+#: ipalib/plugins/cert.py:408
+msgid "Request status"
+msgstr ""
+
+#: ipalib/plugins/cert.py:426
+msgid "Serial number in decimal or if prefixed with 0x in hexadecimal"
+msgstr ""
+
+#: ipalib/plugins/cert.py:431
+msgid ""
+"\n"
+" Retrieve an existing certificate.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:460 ipalib/plugins/host.py:180
+#: ipalib/plugins/service.py:114
+msgid "Revocation reason"
+msgstr ""
+
+#: ipalib/plugins/cert.py:466
+msgid "Output filename"
+msgstr ""
+
+#: ipalib/plugins/cert.py:467
+msgid "File to store the certificate in."
+msgstr ""
+
+#: ipalib/plugins/cert.py:518
+msgid ""
+"\n"
+" Revoke a certificate.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:526
+msgid "Revoked"
+msgstr ""
+
+#: ipalib/plugins/cert.py:534
+msgid "Reason"
+msgstr ""
+
+#: ipalib/plugins/cert.py:535
+msgid "Reason for revoking the certificate (0-10)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:562
+msgid ""
+"\n"
+" Take a revoked certificate off hold.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:570
+msgid "Unrevoked"
+msgstr ""
+
+#: ipalib/plugins/cert.py:573
+msgid "Error"
+msgstr ""
+
+#: ipalib/plugins/config.py:20
+msgid ""
+"\n"
+"Manage the IPA configuration\n"
+"\n"
+"Manage the default values that IPA uses and some of its tuning parameters.\n"
+"\n"
+" To show the current configuration:\n"
+" ipa config-show\n"
+"\n"
+" To modify the configuration:\n"
+" ipa config-mod --maxusername=99\n"
+"\n"
+"The available options are:\n"
+"\n"
+"User management options:\n"
+"\n"
+" --maxusername=INT Max. username length when creating/modifying a user\n"
+" --homedirectory=STR Default location of home directories (default /home)\n"
+" --defaultshell=STR Default shell for new users (default /bin/sh)\n"
+" --defaultgroup=STR Default group for new users (default ipausers). The\n"
+" group must exist, or adding new users will fail.\n"
+" --emaildomain=STR Default e-mail domain for new users\n"
+"\n"
+"Search tuning options. These impact how much data is searched through and\n"
+"how many records may be returned on a given search.\n"
+"\n"
+" --searchtimelimit=INT Max. amount of time (sec.) for a search (> 0, or -1 for\n"
+" unlimited)\n"
+" --searchrecordslimit=INT Max. number of records to search (-1 is unlimited)\n"
+"\n"
+"Server Configuration.\n"
+"\n"
+" --enable-migration=BOOL Enable migration mode\n"
+" --pwdexpnotify=INT Password Expiration Notification (days)\n"
+"\n"
+"The password notification value is stored here so it will be replicated.\n"
+"It is not currently used to notify users in advance of an expiring\n"
+"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"
+msgstr ""
+
+#: ipalib/plugins/config.py:76
+msgid "searchtimelimit must be -1 or > 1."
+msgstr ""
+
+#: ipalib/plugins/config.py:80
+msgid ""
+"\n"
+" IPA configuration object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/config.py:91 ipalib/plugins/internal.py:151
+msgid "Configuration"
+msgstr ""
+
+#: ipalib/plugins/config.py:96
+msgid "Max. username length"
+msgstr ""
+
+#: ipalib/plugins/config.py:101
+msgid "Home directory base"
+msgstr ""
+
+#: ipalib/plugins/config.py:102
+msgid "Default location of home directories."
+msgstr ""
+
+#: ipalib/plugins/config.py:106
+msgid "Default shell"
+msgstr ""
+
+#: ipalib/plugins/config.py:107
+msgid "Default shell for new users."
+msgstr ""
+
+#: ipalib/plugins/config.py:111
+msgid "Default users group"
+msgstr ""
+
+#: ipalib/plugins/config.py:112
+msgid "Default group for new users."
+msgstr ""
+
+#: ipalib/plugins/config.py:116
+msgid "Default e-mail domain for new users"
+msgstr ""
+
+#: ipalib/plugins/config.py:117
+msgid "Default e-mail domain new users."
+msgstr ""
+
+#: ipalib/plugins/config.py:121
+msgid "Search time limit"
+msgstr ""
+
+#: ipalib/plugins/config.py:122
+msgid "Max. amount of time (sec.) for a search (> 0, or -1 for unlimited)."
+msgstr ""
+
+#: ipalib/plugins/config.py:127
+msgid "Search size limit"
+msgstr ""
+
+#: ipalib/plugins/config.py:128
+msgid "Max. number of records to search (-1 is unlimited)."
+msgstr ""
+
+#: ipalib/plugins/config.py:133
+msgid "User search fields"
+msgstr ""
+
+#: ipalib/plugins/config.py:134
+msgid "A comma-separated list of fields to search when searching for users."
+msgstr ""
+
+#: ipalib/plugins/config.py:139
+msgid "A comma-separated list of fields to search when searching for groups."
+msgstr ""
+
+#: ipalib/plugins/config.py:143
+msgid "Migration mode"
+msgstr ""
+
+#: ipalib/plugins/config.py:144
+msgid "Enable migration mode."
+msgstr ""
+
+#: ipalib/plugins/config.py:148
+msgid "Certificate Subject base"
+msgstr ""
+
+#: ipalib/plugins/config.py:149
+msgid "Base for certificate subjects (OU=Test,O=Example)."
+msgstr ""
+
+#: ipalib/plugins/config.py:154
+msgid "Default group objectclasses"
+msgstr ""
+
+#: ipalib/plugins/config.py:155
+msgid "Default group objectclassses (comma-separated list)."
+msgstr ""
+
+#: ipalib/plugins/config.py:159
+msgid "Default user objectclasses"
+msgstr ""
+
+#: ipalib/plugins/config.py:160
+msgid "Default user objectclassses (comma-separated list)."
+msgstr ""
+
+#: ipalib/plugins/config.py:164
+msgid "Password Expiration Notification"
+msgstr ""
+
+#: ipalib/plugins/config.py:165
+msgid "Number of days's notice of impending password expiration."
+msgstr ""
+
+#: ipalib/plugins/config.py:170
+msgid "Password plugin features"
+msgstr ""
+
+#: ipalib/plugins/config.py:171
+msgid "Extra hashes to generate in password plug-in."
+msgstr ""
+
+#: ipalib/plugins/config.py:183
+msgid ""
+"\n"
+" Modify configuration options.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/config.py:220
+msgid ""
+"\n"
+" Show the current configuration.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:19
+msgid ""
+"\n"
+"Group to Group Delegation\n"
+"\n"
+"A permission enables fine-grained delegation of permissions. Access Control\n"
+"Rules, or instructions (ACIs), grant permission to permissions to perform\n"
+"given tasks such as adding a user, modifying a group, etc.\n"
+"\n"
+"Group to Group Delegations grants the members of one group to update a set\n"
+"of attributes of members of another group.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a delegation rule to allow editors to edit admin's addresses:\n"
+" ipa delegation-add --attrs=street --membergroup=admins --group=editors 'editors edit admins street'\n"
+"\n"
+" When managing the list of attributes you need to include all attributes\n"
+" in the list, including existing ones. Add postalCode to the list:\n"
+" ipa delegation-mod --attrs=street,postalCode --membergroup=admins --group=editors 'editors edit admins street'\n"
+"\n"
+" Display our updated rule:\n"
+" ipa delegation-show 'editors edit admins street'\n"
+"\n"
+" Delete a rule:\n"
+" ipa delegation-del 'editors edit admins street'\n"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:56
+msgid ""
+"\n"
+" memberOf is in filter but we want to pull out the group for easier\n"
+" displaying.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:63 ipalib/plugins/delegation.py:90
+msgid "Delegation '%(permission)s' not found"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:70
+msgid "Error retrieving member group %(group)s: %(error)s"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:79
+msgid ""
+"\n"
+" Determine if the ACI is a Delegation ACI and raise an exception if it\n"
+" isn't.\n"
+"\n"
+" Return the result if it is a delegation ACI, adding a new attribute\n"
+" membergroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:95
+msgid ""
+"\n"
+" Delegation object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:102
+msgid "Delegation"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:107 ipalib/plugins/delegation.py:108
+msgid "Delegation name"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:114 ipalib/plugins/selfservice.py:87
+msgid ""
+"Comma-separated list of permissions to grant (read, write). Default is "
+"write."
+msgstr ""
+
+#: ipalib/plugins/delegation.py:125
+msgid "Member user group"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:126
+msgid "User group to apply delegation to"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:152
+msgid ""
+"\n"
+" Add a new delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:156
+msgid "Added delegation \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/delegation.py:176
+msgid ""
+"\n"
+" Delete a delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:181
+msgid "Deleted delegation \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/delegation.py:197
+msgid ""
+"\n"
+" Modify a delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:201
+msgid "Modified delegation \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/delegation.py:219
+msgid ""
+"\n"
+" Search for delegations.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:223
+msgid "%(count)d delegation matched"
+msgid_plural "%(count)d delegations matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/delegation.py:250
+msgid ""
+"\n"
+" Display information about a delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:20
+msgid ""
+"\n"
+"Domain Name System (DNS)\n"
+"\n"
+"Manage DNS zone and resource records.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add new zone:\n"
+" ipa dnszone-add example.com --name-server nameserver.example.com\n"
+" --admin-email admin@example.com\n"
+"\n"
+" Add second nameserver for example.com:\n"
+" ipa dnsrecord-add example.com @ --ns-rec nameserver2.example.com\n"
+"\n"
+" Add a mail server for example.com:\n"
+" ipa dnsrecord-add example.com @ --mx-rec=\"10 mail2\"\n"
+"\n"
+" Delete previously added nameserver from example.com:\n"
+" ipa dnsrecord-del example.com @ --ns-rec nameserver2.example.com\n"
+"\n"
+" Add new A record for www.example.com: (random IP)\n"
+" ipa dnsrecord-add example.com www --a-rec 80.142.15.2\n"
+"\n"
+" Add new PTR record for www.example.com\n"
+" ipa dnsrecord-add 15.142.80.in-addr.arpa 2 --ptr-rec www.example.com.\n"
+"\n"
+" Add new SRV records for LDAP servers. Three quarters of the requests\n"
+" should go to fast.example.com, one quarter to slow.example.com. If neither\n"
+" is available, switch to backup.example.com.\n"
+" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 3 389 fast.example.com\"\n"
+" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 1 389 slow.example.com\"\n"
+" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"1 1 389 backup.example.com\"\n"
+"\n"
+" When dnsrecord-add command is executed with no option to add a specific record\n"
+" an interactive mode is started. The mode interactively prompts for the most\n"
+" typical record types for the respective zone:\n"
+" ipa dnsrecord-add example.com www\n"
+" [A record]: 1.2.3.4,11.22.33.44 (2 interactively entered random IPs)\n"
+" [AAAA record]: (no AAAA address entered)\n"
+" Record name: www\n"
+" A record: 1.2.3.4, 11.22.33.44\n"
+"\n"
+" The interactive mode can also be used for deleting the DNS records:\n"
+" ipa dnsrecord-del example.com www\n"
+" No option to delete specific record provided.\n"
+" Delete all? Yes/No (default No): (do not delete all records)\n"
+" Current DNS record contents:\n"
+"\n"
+" A record: 1.2.3.4, 11.22.33.44\n"
+"\n"
+" Delete A record '1.2.3.4'? Yes/No (default No): \n"
+" Delete A record '11.22.33.44'? Yes/No (default No): y\n"
+" Record name: www\n"
+" A record: 1.2.3.4 (A record 11.22.33.44 has been deleted)\n"
+"\n"
+" Show zone example.com:\n"
+" ipa dnszone-show example.com\n"
+"\n"
+" Find zone with \"example\" in its domain name:\n"
+" ipa dnszone-find example\n"
+"\n"
+" Find records for resources with \"www\" in their name in zone example.com:\n"
+" ipa dnsrecord-find example.com www\n"
+"\n"
+" Find A records with value 10.10.0.1 in zone example.com\n"
+" ipa dnsrecord-find example.com --a-rec 10.10.0.1\n"
+"\n"
+" Show records for resource www in zone example.com\n"
+" ipa dnsrecord-show example.com www\n"
+"\n"
+" Delete zone example.com with all resource records:\n"
+" ipa dnszone-del example.com\n"
+"\n"
+" Resolve a host name to see if it exists (will add default IPA domain\n"
+" if one is not included):\n"
+" ipa dns-resolve www.example.com\n"
+" ipa dns-resolve www\n"
+msgstr ""
+
+#: ipalib/plugins/dns.py:140
+msgid "Generate serial number for zones."
+msgstr ""
+
+#: ipalib/plugins/dns.py:189
+msgid "see RFC 2915 "
+msgstr ""
+
+#: ipalib/plugins/dns.py:249
+msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record"
+msgstr ""
+
+#: ipalib/plugins/dns.py:272
+msgid ""
+"\n"
+" DNS Zone, container for resource records.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:284
+msgid "DNS"
+msgstr ""
+
+#: ipalib/plugins/dns.py:289
+msgid "Zone name"
+msgstr ""
+
+#: ipalib/plugins/dns.py:290
+msgid "Zone name (FQDN)"
+msgstr ""
+
+#: ipalib/plugins/dns.py:296
+msgid "Authoritative nameserver"
+msgstr ""
+
+#: ipalib/plugins/dns.py:297
+msgid "Authoritative nameserver."
+msgstr ""
+
+#: ipalib/plugins/dns.py:301 ipalib/plugins/dns.py:302
+msgid "Administrator e-mail address"
+msgstr ""
+
+#: ipalib/plugins/dns.py:308
+msgid "SOA serial"
+msgstr ""
+
+#: ipalib/plugins/dns.py:309
+msgid "SOA record serial number"
+msgstr ""
+
+#: ipalib/plugins/dns.py:316
+msgid "SOA refresh"
+msgstr ""
+
+#: ipalib/plugins/dns.py:317
+msgid "SOA record refresh time"
+msgstr ""
+
+#: ipalib/plugins/dns.py:324
+msgid "SOA retry"
+msgstr ""
+
+#: ipalib/plugins/dns.py:325
+msgid "SOA record retry time"
+msgstr ""
+
+#: ipalib/plugins/dns.py:332
+msgid "SOA expire"
+msgstr ""
+
+#: ipalib/plugins/dns.py:333
+msgid "SOA record expire time"
+msgstr ""
+
+#: ipalib/plugins/dns.py:340
+msgid "SOA minimum"
+msgstr ""
+
+#: ipalib/plugins/dns.py:341
+msgid "How long should negative responses be cached"
+msgstr ""
+
+#: ipalib/plugins/dns.py:349
+msgid "SOA time to live"
+msgstr ""
+
+#: ipalib/plugins/dns.py:350
+msgid "SOA record time to live"
+msgstr ""
+
+#: ipalib/plugins/dns.py:354
+msgid "SOA class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:355
+msgid "SOA record class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:360 ipalib/plugins/dns.py:361
+msgid "BIND update policy"
+msgstr ""
+
+#: ipalib/plugins/dns.py:365
+msgid "Active zone"
+msgstr ""
+
+#: ipalib/plugins/dns.py:366
+msgid "Is zone active?"
+msgstr ""
+
+#: ipalib/plugins/dns.py:372
+msgid "Dynamic update"
+msgstr ""
+
+#: ipalib/plugins/dns.py:373
+msgid "Allow dynamic updates."
+msgstr ""
+
+#: ipalib/plugins/dns.py:382
+msgid ""
+"\n"
+" Create new DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:387 ipalib/plugins/dns.py:697
+#: ipalib/plugins/host.py:315 ipalib/plugins/service.py:250
+msgid "Force"
+msgstr ""
+
+#: ipalib/plugins/dns.py:388
+msgid "Force DNS zone creation even if nameserver not in DNS."
+msgstr ""
+
+#: ipalib/plugins/dns.py:391
+msgid "Add the nameserver to DNS with this IP address"
+msgstr ""
+
+#: ipalib/plugins/dns.py:397
+msgid "DNS is not configured"
+msgstr ""
+
+#: ipalib/plugins/dns.py:431
+msgid ""
+"\n"
+" Delete DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:439
+msgid ""
+"\n"
+" Modify DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:452
+msgid ""
+"\n"
+" Search for DNS zones (SOA records).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:460
+msgid ""
+"\n"
+" Display information about a DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:468
+msgid ""
+"\n"
+" Disable DNS Zone.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:472
+msgid "Disabled DNS zone \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/dns.py:490
+msgid ""
+"\n"
+" Enable DNS Zone.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:494
+msgid "Enabled DNS zone \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/dns.py:512
+msgid ""
+"\n"
+" DNS record.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:522
+msgid "DNS resource record"
+msgstr ""
+
+#: ipalib/plugins/dns.py:527 ipalib/plugins/dns.py:528
+msgid "Record name"
+msgstr ""
+
+#: ipalib/plugins/dns.py:533 ipalib/plugins/dns.py:534
+msgid "Time to live"
+msgstr ""
+
+#: ipalib/plugins/dns.py:538
+msgid "Class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:539
+msgid "DNS class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:566
+msgid ""
+"\n"
+" Base class for DNS record commands with record options.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:610
+msgid ""
+"\n"
+" Base class for adding/removing records from DNS resource entries.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:674
+msgid ""
+"\n"
+" Add records to DNS resource.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:690
+msgid ""
+"\n"
+" Add new DNS resource record.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:699
+msgid "force NS record creation even if its hostname is not in DNS"
+msgstr ""
+
+#: ipalib/plugins/dns.py:735
+msgid ""
+"Reverse zone for PTR record should be a sub-zone of one the following fully "
+"qualified domains: %s"
+msgstr ""
+
+#: ipalib/plugins/dns.py:740
+msgid "Reverse zone %s requires exactly %d IP address components, %d given"
+msgstr ""
+
+#: ipalib/plugins/dns.py:746
+msgid "PTR record '%s' is not fully qualified (check traling '.')"
+msgstr ""
+
+#: ipalib/plugins/dns.py:789
+msgid ""
+"\n"
+" Delete DNS record entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:792
+msgid "Deleted record \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/dns.py:799
+msgid ""
+"\n"
+" Delete DNS resource record.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:802
+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:807
+msgid "Delete all associated records"
+msgstr ""
+
+#: ipalib/plugins/dns.py:834
+msgid "No option to delete specific record provided."
+msgstr ""
+
+#: ipalib/plugins/dns.py:835
+msgid "Delete all?"
+msgstr ""
+
+#: ipalib/plugins/dns.py:845
+msgid "Current DNS record contents:\n"
+msgstr ""
+
+#: ipalib/plugins/dns.py:875
+msgid "%s record with value %s not found"
+msgstr ""
+
+#: ipalib/plugins/dns.py:889
+msgid ""
+"\n"
+" Display DNS resource.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:905
+msgid ""
+"\n"
+" Search for DNS resources.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:932
+msgid ""
+"\n"
+" Resolve a host name in DNS\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:936
+msgid "Found '%(value)s'"
+msgstr ""
+
+#: ipalib/plugins/dns.py:940
+msgid "Hostname"
+msgstr ""
+
+#: ipalib/plugins/dns.py:962
+msgid "Host '%(host)s' not found"
+msgstr ""
+
+#: ipalib/plugins/dns.py:970
+msgid ""
+"\n"
+" Checks if any of the servers has the DNS service enabled.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:19
+msgid ""
+"\n"
+"Entitlements\n"
+"\n"
+"Manage entitlements for client machines\n"
+"\n"
+"Entitlements can be managed either by registering with an entitlement\n"
+"server with a username and password or by manually importing entitlement\n"
+"certificates. An entitlement certificate contains embedded information\n"
+"such as the product being entitled, the quantity and the validity dates.\n"
+"\n"
+"An entitlement server manages the number of client entitlements available.\n"
+"To mark these entitlements as used by the IPA server you provide a quantity\n"
+"and they are marked as consumed on the entitlement server.\n"
+"\n"
+" Register with an entitlement server:\n"
+" ipa entitle-register consumer\n"
+"\n"
+" Import an entitlement certificate:\n"
+" ipa entitle-import /home/user/ipaclient.pem\n"
+"\n"
+" Display current entitlements:\n"
+" ipa entitle-status\n"
+"\n"
+" Retrieve details on entitlement certificates:\n"
+" ipa entitle-get\n"
+"\n"
+" Consume some entitlements from the entitlement server:\n"
+" ipa entitle-consume 50\n"
+"\n"
+"The registration ID is a Unique Identifier (UUID). This ID will be\n"
+"IMPORTED if you have used entitle-import.\n"
+"\n"
+"Changes to /etc/rhsm/rhsm.conf require a restart of the httpd service.\n"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:106
+msgid ""
+"\n"
+" Get our entitlement pool. Assume there is only one pool.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:129
+msgid ""
+"\n"
+" Retrieve our UUID, certificate and key from LDAP.\n"
+"\n"
+" Except on error the caller is responsible for removing temporary files\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:178
+msgid ""
+"\n"
+" Entitlement object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:189
+msgid "Entitlements"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:206
+msgid ""
+"\n"
+" Display current entitlements\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:214 ipalib/plugins/entitle.py:602
+msgid "UUID"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:217 ipalib/plugins/entitle.py:306
+#: ipalib/plugins/entitle.py:388 ipalib/plugins/entitle.py:575
+#: ipalib/plugins/entitle.py:690
+msgid "Product"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:220 ipalib/plugins/entitle.py:286
+#: ipalib/plugins/entitle.py:296 ipalib/plugins/entitle.py:391
+#: ipalib/plugins/entitle.py:578 ipalib/plugins/entitle.py:680
+msgid "Quantity"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:223 ipalib/plugins/entitle.py:309
+#: ipalib/plugins/entitle.py:581 ipalib/plugins/entitle.py:693
+msgid "Consumed"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:276
+msgid ""
+"\n"
+" Consume an entitlement\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:282
+msgid "Consumed %(value)s entitlement(s)."
+msgstr ""
+
+#: ipalib/plugins/entitle.py:314
+msgid ""
+"\n"
+" Override this so we can set value to the number of entitlements\n"
+" consumed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:362 ipalib/plugins/entitle.py:724
+msgid ""
+"\n"
+" Returning the certificates isn't very interesting. Return the\n"
+" status of entitlements instead.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:380
+msgid ""
+"\n"
+" Retrieve the entitlement certs\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:394
+msgid "Start"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:397
+msgid "End"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:400 ipalib/plugins/host.py:162
+#: ipalib/plugins/internal.py:132 ipalib/plugins/service.py:96
+msgid "Serial Number"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:435 ipalib/plugins/entitle.py:626
+#: ipalib/plugins/entitle.py:628
+msgid "Not an entitlement certificate"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:460
+msgid ""
+"\n"
+" Search for entitlement accounts.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:473
+msgid ""
+"\n"
+" Register to the entitlement system\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:479
+msgid "Registered to entitlement server."
+msgstr ""
+
+#: ipalib/plugins/entitle.py:483
+msgid "Username"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:490 ipalib/plugins/entitle.py:603
+msgid "Enrollment UUID"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:494 ipalib/plugins/migration.py:271
+#: ipalib/plugins/passwd.py:59 ipalib/plugins/user.py:172
+msgid "Password"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:495
+msgid "Registration password"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:569
+msgid ""
+"\n"
+" Import an entitlement certificate.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:646
+msgid ""
+"\n"
+" If we are adding the first entry there are no updates so EmptyModlist\n"
+" will get thrown. Ignore it.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:667
+msgid ""
+"\n"
+" Re-sync the local entitlement cache with the entitlement server\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:673
+msgid "Entitlement(s) synchronized."
+msgstr ""
+
+#: ipalib/plugins/group.py:20
+msgid ""
+"\n"
+"Groups of users\n"
+"\n"
+"Manage groups of users. By default, new groups are POSIX groups. You\n"
+"can add the --nonposix option to the group-add command to mark a new group\n"
+"as non-POSIX, and you can use the same argument to the group-mod command\n"
+"to convert a non-POSIX group to a POSIX group. POSIX groups cannot be\n"
+"converted to non-POSIX groups.\n"
+"\n"
+"Every group must have a description.\n"
+"\n"
+"POSIX groups must have a Group ID (GID) number. Changing a GID is\n"
+"supported but can have an impact on your file permissions. It is not necessary\n"
+"to supply a GID when creating a group. IPA will generate one automatically\n"
+"if it is not provided.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new group:\n"
+" ipa group-add --desc='local administrators' localadmins\n"
+"\n"
+" Add a new non-POSIX group:\n"
+" ipa group-add --nonposix --desc='remote administrators' remoteadmins\n"
+"\n"
+" Convert a non-POSIX group to posix:\n"
+" ipa group-mod --posix remoteadmins\n"
+"\n"
+" Add a new POSIX group with a specific Group ID number:\n"
+" ipa group-add --gid=500 --desc='unix admins' unixadmins\n"
+"\n"
+" Add a new POSIX group and let IPA assign a Group ID number:\n"
+" ipa group-add --desc='printer admins' printeradmins\n"
+"\n"
+" Remove a group:\n"
+" ipa group-del unixadmins\n"
+"\n"
+" To add the \"remoteadmins\" group to the \"localadmins\" group:\n"
+" ipa group-add-member --groups=remoteadmins localadmins\n"
+"\n"
+" Add a list of users to the \"localadmins\" group:\n"
+" ipa group-add-member --users=test1,test2 localadmins\n"
+"\n"
+" Remove a user from the \"localadmins\" group:\n"
+" ipa group-remove-member --users=test2 localadmins\n"
+"\n"
+" Display information about a named group.\n"
+" ipa group-show localadmins\n"
+msgstr ""
+
+#: ipalib/plugins/group.py:76
+msgid ""
+"\n"
+" Group object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:100
+msgid "User Groups"
+msgstr ""
+
+#: ipalib/plugins/group.py:108
+msgid "Group name"
+msgstr ""
+
+#: ipalib/plugins/group.py:115 ipalib/plugins/sudocmdgroup.py:77
+msgid "Group description"
+msgstr ""
+
+#: ipalib/plugins/group.py:119 ipalib/plugins/user.py:187
+msgid "GID"
+msgstr ""
+
+#: ipalib/plugins/group.py:120
+msgid "GID (use this option to set it manually)"
+msgstr ""
+
+#: ipalib/plugins/group.py:128
+msgid ""
+"\n"
+" Create a new group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:132
+msgid "Added group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:137
+msgid "Create as a non-POSIX group"
+msgstr ""
+
+#: ipalib/plugins/group.py:154
+msgid ""
+"\n"
+" Delete group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:158
+msgid "Deleted group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:186
+msgid ""
+"\n"
+" Modify a group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:189
+msgid "Modified group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:194
+msgid "change to a POSIX group"
+msgstr ""
+
+#: ipalib/plugins/group.py:215
+msgid ""
+"\n"
+" Search for groups.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:220
+msgid "%(count)d group matched"
+msgid_plural "%(count)d groups matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/group.py:227 ipalib/plugins/netgroup.py:192
+msgid "search for private groups"
+msgstr ""
+
+#: ipalib/plugins/group.py:257
+msgid ""
+"\n"
+" Display information about a named group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:265
+msgid ""
+"\n"
+" Add members to a group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:273
+msgid ""
+"\n"
+" Remove members from a group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:281
+msgid ""
+"\n"
+" Detach a managed group from a user\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:285
+msgid "Detached group \"%(value)s\" from user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:288
+msgid ""
+"\n"
+" This requires updating both the user and the group. We first need to\n"
+" verify that both the user and group can be updated, then we go\n"
+" about our work. We don't want a situation where only the user or\n"
+" group can be modified and we're left in a bad state.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:306
+msgid "not allowed to modify user entries"
+msgstr ""
+
+#: ipalib/plugins/group.py:312
+msgid "not allowed to modify group entries"
+msgstr ""
+
+#: ipalib/plugins/group.py:331
+msgid "Not a managed group"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:19
+msgid ""
+"\n"
+"Host-based access control\n"
+"\n"
+"Control who can access what services on what hosts and from where. You\n"
+"can use HBAC to control which users or groups on a source host can\n"
+"access a service, or group of services, on a target host.\n"
+"\n"
+"You can also specify a category of users, target hosts, and source\n"
+"hosts. This is currently limited to \"all\", but might be expanded in the\n"
+"future.\n"
+"\n"
+"Target hosts and source hosts in HBAC rules must be hosts managed by IPA.\n"
+"\n"
+"The available services and groups of services are controlled by the\n"
+"hbacsvc and hbacsvcgroup plug-ins respectively.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Create a rule, \"test1\", that grants all users access to the host \"server\" from\n"
+" anywhere:\n"
+" ipa hbacrule-add --type=allow --usercat=all --srchostcat=all test1\n"
+" ipa hbacrule-add-host --hosts=server.example.com test1\n"
+"\n"
+" Display the properties of a named HBAC rule:\n"
+" ipa hbacrule-show test1\n"
+"\n"
+" Create a rule for a specific service. This lets the user john access\n"
+" the sshd service on any machine from any machine:\n"
+" ipa hbacrule-add --type=allow --hostcat=all --srchostcat=all john_sshd\n"
+" ipa hbacrule-add-user --users=john john_sshd\n"
+" ipa hbacrule-add-service --hbacsvcs=sshd john_sshd\n"
+"\n"
+" Create a rule for a new service group. This lets the user john access\n"
+" the FTP service on any machine from any machine:\n"
+" ipa hbacsvcgroup-add ftpers\n"
+" ipa hbacsvc-add sftp\n"
+" ipa hbacsvcgroup-add-member --hbacsvcs=ftp,sftp ftpers\n"
+" ipa hbacrule-add --type=allow --hostcat=all --srchostcat=all john_ftp\n"
+" ipa hbacrule-add-user --users=john john_ftp\n"
+" ipa hbacrule-add-service --hbacsvcgroups=ftpers john_ftp\n"
+"\n"
+" Disable a named HBAC rule:\n"
+" ipa hbacrule-disable test1\n"
+"\n"
+" Remove a named HBAC rule:\n"
+" ipa hbacrule-del allow_server\n"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:91
+msgid ""
+"\n"
+" See if options[attribute] is lower-case 'all' in a safe way.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:103
+msgid ""
+"\n"
+" HBAC object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:126
+msgid "HBAC Rule"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:131 ipalib/plugins/sudorule.py:73
+msgid "Rule name"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:136
+msgid "Rule type (allow or deny)"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:137
+msgid "Rule type"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:143 ipalib/plugins/netgroup.py:124
+#: ipalib/plugins/sudorule.py:86
+msgid "User category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:144 ipalib/plugins/netgroup.py:125
+#: ipalib/plugins/sudorule.py:87
+msgid "User category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:149 ipalib/plugins/netgroup.py:130
+#: ipalib/plugins/sudorule.py:92
+msgid "Host category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:150 ipalib/plugins/netgroup.py:131
+#: ipalib/plugins/sudorule.py:93
+msgid "Host category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:155
+msgid "Source host category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:156
+msgid "Source host category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:161
+msgid "Service category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:162
+msgid "Service category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:174 ipalib/plugins/sudorule.py:81
+msgid "Enabled"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:178 ipalib/plugins/sudorule.py:115
+#: ipalib/plugins/user.py:108
+msgid "Users"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:182 ipalib/plugins/internal.py:272
+#: ipalib/plugins/sudorule.py:119
+msgid "Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:186 ipalib/plugins/host.py:226
+#: ipalib/plugins/sudorule.py:123
+msgid "Hosts"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:190 ipalib/plugins/hostgroup.py:73
+#: ipalib/plugins/sudorule.py:127
+msgid "Host Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:194
+msgid "Source hosts"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:198
+msgid "Source host groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:202 ipalib/plugins/internal.py:196
+#: ipalib/plugins/service.py:220
+msgid "Services"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:206
+msgid "Service Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:215
+msgid ""
+"\n"
+" Create a new HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:219
+msgid "Added HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:230
+msgid ""
+"\n"
+" Delete an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:234
+msgid "Deleted HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:240
+msgid ""
+"\n"
+" Modify an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:244
+msgid "Modified HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:266
+msgid ""
+"\n"
+" Search for HBAC rules.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:270
+msgid "%(count)d HBAC rule matched"
+msgid_plural "%(count)d HBAC rules matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/hbacrule.py:278
+msgid ""
+"\n"
+" Display the properties of an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:286
+msgid ""
+"\n"
+" Enable an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:290
+msgid "Enabled HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:315
+msgid ""
+"\n"
+" Disable an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:319
+msgid "Disabled HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:344
+msgid ""
+"\n"
+" Add an access time to an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:351 ipalib/plugins/hbacrule.py:391
+msgid "Access time"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:385
+msgid ""
+"\n"
+" Remove access time to HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:425
+msgid ""
+"\n"
+" Add users and groups to an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:442
+msgid ""
+"\n"
+" Remove users and groups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:452
+msgid ""
+"\n"
+" Add target hosts and hostgroups to an HBAC rule\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:469
+msgid ""
+"\n"
+" Remove target hosts and hostgroups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:479
+msgid ""
+"\n"
+" Add source hosts and hostgroups from a HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:496
+msgid ""
+"\n"
+" Remove source hosts and hostgroups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:506
+msgid ""
+"\n"
+" Add services to an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:523
+msgid ""
+"\n"
+" Remove service and service groups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:19
+msgid ""
+"\n"
+"HBAC Services\n"
+"\n"
+"The PAM services that HBAC can control access to. The name used here\n"
+"must match the service name that PAM is evaluating.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new HBAC service:\n"
+" ipa hbacsvc-add tftp\n"
+"\n"
+" Modify an existing HBAC service:\n"
+" ipa hbacsvc-mod --desc=\"TFTP service\" tftp\n"
+"\n"
+" Search for HBAC services. This example will return two results, the FTP\n"
+" service and the newly-added tftp service:\n"
+" ipa hbacsvc-find ftp\n"
+"\n"
+" Delete an HBAC service:\n"
+" ipa hbacsvc-del tftp\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:51
+msgid ""
+"\n"
+" HBAC Service object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:61
+msgid "HBAC Services"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:66
+msgid "Service name"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:67
+msgid "HBAC service"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:74
+msgid "HBAC service description"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:82
+msgid ""
+"\n"
+" Add a new HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:85
+msgid "Added HBAC service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:91
+msgid ""
+"\n"
+" Delete an existing HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:94
+msgid "Deleted HBAC service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:100
+msgid ""
+"\n"
+" Modify an HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:104
+msgid "Modified HBAC service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:110
+msgid ""
+"\n"
+" Search for HBAC services.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:114
+msgid "%(count)d HBAC service matched"
+msgid_plural "%(count)d HBAC services matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/hbacsvc.py:122
+msgid ""
+"\n"
+" Display information about an HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:19
+msgid ""
+"\n"
+"HBAC Service Groups\n"
+"\n"
+"HBAC service groups can contain any number of individual services,\n"
+"or \"members\". Every group must have a description.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new HBAC service group:\n"
+" ipa hbacsvcgroup-add --desc=\"login services\" login\n"
+"\n"
+" Add members to an HBAC service group:\n"
+" ipa hbacsvcgroup-add-member --hbacsvcs=sshd,login login\n"
+"\n"
+" Display information about a named group:\n"
+" ipa hbacsvcgroup-show login\n"
+"\n"
+" Add a new group to the \"login\" group:\n"
+" ipa hbacsvcgroup-add --desc=\"switch users\" login\n"
+" ipa hbacsvcgroup-add-member --hbacsvcs=su,su-l login\n"
+"\n"
+" Delete an HBAC service group:\n"
+" ipa hbacsvcgroup-del login\n"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:51
+msgid ""
+"\n"
+" HBAC service group object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:64
+msgid "HBAC service Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:69
+msgid "Service group name"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:76
+msgid "HBAC service group description"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:84
+msgid ""
+"\n"
+" Add a new HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:87
+msgid "Added HBAC service group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:93
+msgid ""
+"\n"
+" Delete an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:96
+msgid "Deleted HBAC service group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:102
+msgid ""
+"\n"
+" Modify an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:105
+msgid "Modified HBAC service group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:111
+msgid ""
+"\n"
+" Search for an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:114
+msgid "%(count)d HBAC service group matched"
+msgid_plural "%(count)d HBAC service groups matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/hbacsvcgroup.py:122
+msgid ""
+"\n"
+" Display information about an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:130
+msgid ""
+"\n"
+" Add members to an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:138
+msgid ""
+"\n"
+" Remove members from an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:20
+msgid ""
+"\n"
+"Hosts/Machines\n"
+"\n"
+"A host represents a machine. It can be used in a number of contexts:\n"
+"- service entries are associated with a host\n"
+"- a host stores the host/ service principal\n"
+"- a host can be used in Host-based Access Control (HBAC) rules\n"
+"- every enrolled client generates a host entry\n"
+"\n"
+"ENROLLMENT:\n"
+"\n"
+"There are three enrollment scenarios when enrolling a new client:\n"
+"\n"
+"1. You are enrolling as a full administrator. The host entry may exist\n"
+" or not. A full administrator is a member of the hostadmin role\n"
+" or the admins group.\n"
+"2. You are enrolling as a limited administrator. The host must already\n"
+" exist. A limited administrator is a member a role with the\n"
+" Host Enrollment privilege.\n"
+"3. The host has been created with a one-time password.\n"
+"\n"
+"A host can only be enrolled once. If a client has enrolled and needs to\n"
+"be re-enrolled, the host entry must be removed and re-created. Note that\n"
+"re-creating the host entry will result in all services for the host being\n"
+"removed, and all SSL certificates associated with those services being\n"
+"revoked.\n"
+"\n"
+"A host can optionally store information such as where it is located,\n"
+"the OS that it runs, etc.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new host:\n"
+" ipa host-add --location=\"3rd floor lab\" --locality=Dallas test.example.com\n"
+"\n"
+" Delete a host:\n"
+" ipa host-del test.example.com\n"
+"\n"
+" Add a new host with a one-time password:\n"
+" ipa host-add --os='Fedora 12' --password=Secret123 test.example.com\n"
+"\n"
+" Add a new host with a random one-time password:\n"
+" ipa host-add --os='Fedora 12' --random test.example.com\n"
+"\n"
+" Modify information about a host:\n"
+" ipa host-mod --os='Fedora 12' test.example.com\n"
+"\n"
+" Disable the host Kerberos key, SSL certificate and all of its services:\n"
+" ipa host-disable test.example.com\n"
+"\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:97
+msgid ""
+"\n"
+" Require at least one dot in the hostname (to support localhost.localdomain)\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:101
+msgid "Fully-qualified hostname required"
+msgstr ""
+
+#: ipalib/plugins/host.py:129
+msgid "DNS reverse zone for IP address %(addr)s not found"
+msgstr ""
+
+#: ipalib/plugins/host.py:153 ipalib/plugins/service.py:87
+msgid "Keytab"
+msgstr ""
+
+#: ipalib/plugins/host.py:185
+msgid ""
+"\n"
+" Verify that we have either an IPv4 or IPv6 address.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:189
+msgid "invalid IP address"
+msgstr ""
+
+#: ipalib/plugins/host.py:194
+msgid ""
+"\n"
+" Host object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:231
+msgid "Host name"
+msgstr ""
+
+#: ipalib/plugins/host.py:238
+msgid "A description of this host"
+msgstr ""
+
+#: ipalib/plugins/host.py:242
+msgid "Locality"
+msgstr ""
+
+#: ipalib/plugins/host.py:243
+msgid "Host locality (e.g. \"Baltimore, MD\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:248
+msgid "Host location (e.g. \"Lab 2\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:252
+msgid "Platform"
+msgstr ""
+
+#: ipalib/plugins/host.py:253
+msgid "Host hardware platform (e.g. \"Lenovo T61\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:257
+msgid "Operating system"
+msgstr ""
+
+#: ipalib/plugins/host.py:258
+msgid "Host operating system and version (e.g. \"Fedora 9\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:262
+msgid "User password"
+msgstr ""
+
+#: ipalib/plugins/host.py:263
+msgid "Password used in bulk enrollment"
+msgstr ""
+
+#: ipalib/plugins/host.py:266
+msgid "Generate a random password to be used in bulk enrollment"
+msgstr ""
+
+#: ipalib/plugins/host.py:271
+msgid "Random password"
+msgstr ""
+
+#: ipalib/plugins/host.py:277 ipalib/plugins/service.py:233
+msgid "Base-64 encoded server certificate"
+msgstr ""
+
+#: ipalib/plugins/host.py:280 ipalib/plugins/host.py:548
+msgid "Principal name"
+msgstr ""
+
+#: ipalib/plugins/host.py:306
+msgid ""
+"\n"
+" Add a new host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:311
+msgid "Added host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:316
+msgid "force host name even if not in DNS"
+msgstr ""
+
+#: ipalib/plugins/host.py:319
+msgid "skip reverse DNS detection"
+msgstr ""
+
+#: ipalib/plugins/host.py:322
+msgid "Add the host to DNS with this IP address"
+msgstr ""
+
+#: ipalib/plugins/host.py:338 ipalib/plugins/host.py:477
+msgid "DNS zone %(zone)s not found"
+msgstr ""
+
+#: ipalib/plugins/host.py:413
+msgid "The host was added but the DNS update failed with: %(exc)s"
+msgstr ""
+
+#: ipalib/plugins/host.py:422
+msgid ""
+"\n"
+" Delete a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:426
+msgid "Deleted host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:431
+msgid "Remove entries from DNS"
+msgstr ""
+
+#: ipalib/plugins/host.py:537
+msgid ""
+"\n"
+" Modify information about a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:542
+msgid "Modified host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:549
+msgid "Kerberos principal name for this host"
+msgstr ""
+
+#: ipalib/plugins/host.py:618
+msgid ""
+"\n"
+" Search for hosts.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:623
+msgid "%(count)d host matched"
+msgid_plural "%(count)d hosts matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/host.py:643
+msgid ""
+"\n"
+" Display information about a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:649 ipalib/plugins/service.py:400
+msgid "file to store certificate in"
+msgstr ""
+
+#: ipalib/plugins/host.py:673 ipalib/plugins/service.py:422
+msgid "Certificate stored in file '%(file)s'"
+msgstr ""
+
+#: ipalib/plugins/host.py:684
+msgid ""
+"\n"
+" Disable the Kerberos key, SSL certificate and all services of a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:688
+msgid "Disabled host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:770
+msgid ""
+"\n"
+" Add hosts that can manage this host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:781
+msgid ""
+"\n"
+" Remove hosts that can manage this host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:20
+msgid ""
+"\n"
+"Groups of hosts.\n"
+"\n"
+"Manage groups of hosts. This is useful for applying access control to a\n"
+"number of hosts by using Host-based Access Control.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new host group:\n"
+" ipa hostgroup-add --desc=\"Baltimore hosts\" baltimore\n"
+"\n"
+" Add another new host group:\n"
+" ipa hostgroup-add --desc=\"Maryland hosts\" maryland\n"
+"\n"
+" Add members to the hostgroup:\n"
+" ipa hostgroup-add-member --hosts=box1,box2,box3 baltimore\n"
+"\n"
+" Add a hostgroup as a member of another hostgroup:\n"
+" ipa hostgroup-add-member --hostgroups=baltimore maryland\n"
+"\n"
+" Remove a host from the hostgroup:\n"
+" ipa hostgroup-remove-member --hosts=box2 baltimore\n"
+"\n"
+" Display a host group:\n"
+" ipa hostgroup-show baltimore\n"
+"\n"
+" Delete a hostgroup:\n"
+" ipa hostgroup-del baltimore\n"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:55
+msgid ""
+"\n"
+" Hostgroup object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:78
+msgid "Host-group"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:79
+msgid "Name of host-group"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:86
+msgid "A description of this host-group"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:94
+msgid ""
+"\n"
+" Add a new hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:98
+msgid "Added hostgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:104
+msgid ""
+"\n"
+" Delete a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:108
+msgid "Deleted hostgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:114
+msgid ""
+"\n"
+" Modify a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:118
+msgid "Modified hostgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:124
+msgid ""
+"\n"
+" Search for hostgroups.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:128
+msgid "%(count)d hostgroup matched"
+msgid_plural "%(count)d hostgroups matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/hostgroup.py:136
+msgid ""
+"\n"
+" Display information about a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:144
+msgid ""
+"\n"
+" Add members to a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:152
+msgid ""
+"\n"
+" Remove members from a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/internal.py:22
+msgid ""
+"\n"
+"Plugins not accessible directly through the CLI, commands used internally\n"
+msgstr ""
+
+#: ipalib/plugins/internal.py:36
+msgid ""
+"\n"
+" Export plugin meta-data for the webUI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/internal.py:44
+msgid "Name of object to export"
+msgstr ""
+
+#: ipalib/plugins/internal.py:47
+msgid "Name of method to export"
+msgstr ""
+
+#: ipalib/plugins/internal.py:52
+msgid "Dict of JSON encoded IPA Objects"
+msgstr ""
+
+#: ipalib/plugins/internal.py:53
+msgid "Dict of JSON encoded IPA Methods"
+msgstr ""
+
+#: ipalib/plugins/internal.py:96
+msgid "Logged In As"
+msgstr ""
+
+#: ipalib/plugins/internal.py:99
+msgid "Attribute"
+msgstr ""
+
+#: ipalib/plugins/internal.py:102
+msgid "Add Automount Location"
+msgstr ""
+
+#: ipalib/plugins/internal.py:103
+msgid "Automount Location Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:106
+msgid "Add Automount Map"
+msgstr ""
+
+#: ipalib/plugins/internal.py:109
+msgid "Add Automount Key"
+msgstr ""
+
+#: ipalib/plugins/internal.py:112
+msgid "Unspecified"
+msgstr ""
+
+#: ipalib/plugins/internal.py:113
+msgid "Key Compromise"
+msgstr ""
+
+#: ipalib/plugins/internal.py:114
+msgid "CA Compromise"
+msgstr ""
+
+#: ipalib/plugins/internal.py:115
+msgid "Affiliation Changed"
+msgstr ""
+
+#: ipalib/plugins/internal.py:116
+msgid "Superseded"
+msgstr ""
+
+#: ipalib/plugins/internal.py:117
+msgid "Cessation of Operation"
+msgstr ""
+
+#: ipalib/plugins/internal.py:118
+msgid "Certificate Hold"
+msgstr ""
+
+#: ipalib/plugins/internal.py:119
+msgid "Remove from CRL"
+msgstr ""
+
+#: ipalib/plugins/internal.py:120
+msgid "Privilege Withdrawn"
+msgstr ""
+
+#: ipalib/plugins/internal.py:121
+msgid "AA Compromise"
+msgstr ""
+
+#: ipalib/plugins/internal.py:122
+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:124
+msgid "Note"
+msgstr ""
+
+#: ipalib/plugins/internal.py:125
+msgid "Reason for Revocation"
+msgstr ""
+
+#: ipalib/plugins/internal.py:126
+msgid ""
+"To confirm your intention to restore this certificate, click the \"Restore\""
+" button."
+msgstr ""
+
+#: ipalib/plugins/internal.py:128
+msgid "Issued To"
+msgstr ""
+
+#: ipalib/plugins/internal.py:129
+msgid "Common Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:130
+msgid "Organization"
+msgstr ""
+
+#: ipalib/plugins/internal.py:131
+msgid "Organizational Unit"
+msgstr ""
+
+#: ipalib/plugins/internal.py:133
+msgid "Issued By"
+msgstr ""
+
+#: ipalib/plugins/internal.py:134
+msgid "Validity"
+msgstr ""
+
+#: ipalib/plugins/internal.py:135
+msgid "Issued On"
+msgstr ""
+
+#: ipalib/plugins/internal.py:136
+msgid "Expires On"
+msgstr ""
+
+#: ipalib/plugins/internal.py:137
+msgid "Fingerprints"
+msgstr ""
+
+#: ipalib/plugins/internal.py:138
+msgid "SHA1 Fingerprint"
+msgstr ""
+
+#: ipalib/plugins/internal.py:139
+msgid "MD5 Fingerprint"
+msgstr ""
+
+#: ipalib/plugins/internal.py:140
+msgid "Enter the Base64-encoded CSR below"
+msgstr ""
+
+#: ipalib/plugins/internal.py:141
+msgid "Valid Certificate Present"
+msgstr ""
+
+#: ipalib/plugins/internal.py:142
+msgid "New Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:143
+msgid "Certificate Revoked"
+msgstr ""
+
+#: ipalib/plugins/internal.py:144
+msgid "No Valid Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:145
+msgid "Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:146
+msgid "Issue New Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:147
+msgid "Revoke Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:148
+msgid "Restore Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:152
+msgid "Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:155
+msgid "Add Delegation"
+msgstr ""
+
+#: ipalib/plugins/internal.py:158
+msgid "Add DNS Zone"
+msgstr ""
+
+#: ipalib/plugins/internal.py:159
+msgid "DNS Zone Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:162
+msgid "Add DNS Resource Record"
+msgstr ""
+
+#: ipalib/plugins/internal.py:163
+msgid "Resource"
+msgstr ""
+
+#: ipalib/plugins/internal.py:165
+msgid "Data"
+msgstr ""
+
+#: ipalib/plugins/internal.py:166
+msgid "Records for DNS Zone"
+msgstr ""
+
+#: ipalib/plugins/internal.py:169
+msgid "Add Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:170
+msgid "Group Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:171 ipalib/plugins/internal.py:206
+msgid "Is this a POSIX group?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:174
+msgid "Add HBAC Rule"
+msgstr ""
+
+#: ipalib/plugins/internal.py:175 ipalib/plugins/internal.py:280
+#: ipalib/plugins/internal.py:306
+msgid "Active"
+msgstr ""
+
+#: ipalib/plugins/internal.py:176 ipalib/plugins/internal.py:282
+msgid "Allow"
+msgstr ""
+
+#: ipalib/plugins/internal.py:177 ipalib/plugins/internal.py:283
+msgid "Deny"
+msgstr ""
+
+#: ipalib/plugins/internal.py:178 ipalib/plugins/internal.py:281
+#: ipalib/plugins/internal.py:308
+msgid "Inactive"
+msgstr ""
+
+#: ipalib/plugins/internal.py:179 ipalib/plugins/internal.py:296
+msgid "Rule status"
+msgstr ""
+
+#: ipalib/plugins/internal.py:180 ipalib/plugins/internal.py:284
+msgid "Who"
+msgstr ""
+
+#: ipalib/plugins/internal.py:181 ipalib/plugins/internal.py:285
+msgid "Anyone"
+msgstr ""
+
+#: ipalib/plugins/internal.py:182 ipalib/plugins/internal.py:286
+msgid "Specified Users and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:183
+msgid "Accessing"
+msgstr ""
+
+#: ipalib/plugins/internal.py:184 ipalib/plugins/internal.py:288
+msgid "Any Host"
+msgstr ""
+
+#: ipalib/plugins/internal.py:185 ipalib/plugins/internal.py:289
+msgid "Specified Hosts and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:186
+msgid "Via Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:187
+msgid "Any Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:188
+msgid "Specified Services and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:189
+msgid "From"
+msgstr ""
+
+#: ipalib/plugins/internal.py:192
+msgid "Add HBAC Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:195
+msgid "Add HBAC Service Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:199
+msgid "Add Host"
+msgstr ""
+
+#: ipalib/plugins/internal.py:200
+msgid "Host Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:201 ipalib/plugins/internal.py:259
+msgid "Host Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:202
+msgid "Host Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:203
+msgid "Enrolled?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:204
+msgid "Enrollment"
+msgstr ""
+
+#: ipalib/plugins/internal.py:205
+msgid "Fully Qualified Host Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:207 ipalib/plugins/internal.py:262
+msgid "Status"
+msgstr ""
+
+#: ipalib/plugins/internal.py:208
+msgid "Kerberos Key Present, Host Provisioned"
+msgstr ""
+
+#: ipalib/plugins/internal.py:209 ipalib/plugins/internal.py:264
+msgid "Delete Key, Unprovision"
+msgstr ""
+
+#: ipalib/plugins/internal.py:210 ipalib/plugins/internal.py:265
+msgid "Kerberos Key Not Present"
+msgstr ""
+
+#: ipalib/plugins/internal.py:211
+msgid "Enroll via One-Time-Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:212
+msgid "Set OTP"
+msgstr ""
+
+#: ipalib/plugins/internal.py:213
+msgid "One-Time-Password has been set."
+msgstr ""
+
+#: ipalib/plugins/internal.py:214 ipalib/plugins/internal.py:266
+msgid "Unprovisioning ${entity}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:215
+msgid "Are you sure you want to unprovision this host?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:216 ipalib/plugins/internal.py:268
+msgid "Unprovision"
+msgstr ""
+
+#: ipalib/plugins/internal.py:219
+msgid "Add Host Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:220
+msgid "Host Group Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:223
+msgid "Kerberos ticket policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:226
+msgid "Add Netgroup"
+msgstr ""
+
+#: ipalib/plugins/internal.py:227
+msgid "Netgroup Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:230
+msgid "Add Permission"
+msgstr ""
+
+#: ipalib/plugins/internal.py:231 ipalib/plugins/internal.py:376
+msgid "Identity"
+msgstr ""
+
+#: ipalib/plugins/internal.py:233
+msgid "Target"
+msgstr ""
+
+#: ipalib/plugins/internal.py:235
+msgid "By Subtree"
+msgstr ""
+
+#: ipalib/plugins/internal.py:236
+msgid "Target Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:237
+msgid "Object By Type"
+msgstr ""
+
+#: ipalib/plugins/internal.py:238
+msgid "Permission with invalid target specification"
+msgstr ""
+
+#: ipalib/plugins/internal.py:241
+msgid "Add Privilege"
+msgstr ""
+
+#: ipalib/plugins/internal.py:242
+msgid "Privilege Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:245
+msgid "Add Password Policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:246 ipalib/plugins/pwpolicy.py:219
+msgid "Password Policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:249
+msgid "Add Role"
+msgstr ""
+
+#: ipalib/plugins/internal.py:250
+msgid "Role Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:253
+msgid "Add Self Service Definition"
+msgstr ""
+
+#: ipalib/plugins/internal.py:256
+msgid "Add Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:257
+msgid "Service Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:258
+msgid "Service Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:260
+msgid "Provisioning"
+msgstr ""
+
+#: ipalib/plugins/internal.py:261
+msgid "Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:263
+msgid "Kerberos Key Present, Service Provisioned"
+msgstr ""
+
+#: ipalib/plugins/internal.py:267
+msgid "Are you sure you want to unprovision this service?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:271
+msgid "Add Sudo Command"
+msgstr ""
+
+#: ipalib/plugins/internal.py:275
+msgid "Add Sudo Command Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:276 ipalib/plugins/sudocmdgroup.py:80
+msgid "Commands"
+msgstr ""
+
+#: ipalib/plugins/internal.py:279
+msgid "Add Sudo Rule"
+msgstr ""
+
+#: ipalib/plugins/internal.py:287
+msgid "Access this host"
+msgstr ""
+
+#: ipalib/plugins/internal.py:290
+msgid "Run Commands"
+msgstr ""
+
+#: ipalib/plugins/internal.py:291
+msgid "Any Command"
+msgstr ""
+
+#: ipalib/plugins/internal.py:292
+msgid "Specified Commands and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:293
+msgid "As Whom"
+msgstr ""
+
+#: ipalib/plugins/internal.py:294
+msgid "Any Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:295
+msgid "Specified Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:297
+msgid "External"
+msgstr ""
+
+#: ipalib/plugins/internal.py:300
+msgid "Add User"
+msgstr ""
+
+#: ipalib/plugins/internal.py:301
+msgid "Account Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:302
+msgid "Contact Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:303
+msgid "Mailing Address"
+msgstr ""
+
+#: ipalib/plugins/internal.py:304
+msgid "Employee Information"
+msgstr ""
+
+#: ipalib/plugins/internal.py:305
+msgid "Misc. Information"
+msgstr ""
+
+#: ipalib/plugins/internal.py:307
+msgid "Click to Deactivate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:309
+msgid "Click to Activate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:310
+msgid "Error changing account status"
+msgstr ""
+
+#: ipalib/plugins/internal.py:311
+msgid "Reset Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:312
+msgid "New Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:313
+msgid "Repeat Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:314
+msgid "Password change complete"
+msgstr ""
+
+#: ipalib/plugins/internal.py:315
+msgid "Passwords must match"
+msgstr ""
+
+#: ipalib/plugins/internal.py:319
+msgid "Add"
+msgstr ""
+
+#: ipalib/plugins/internal.py:320
+msgid "Add and Add Another"
+msgstr ""
+
+#: ipalib/plugins/internal.py:321
+msgid "Add and Edit"
+msgstr ""
+
+#: ipalib/plugins/internal.py:322
+msgid "Add and Close"
+msgstr ""
+
+#: ipalib/plugins/internal.py:323
+msgid "Add Many"
+msgstr ""
+
+#: ipalib/plugins/internal.py:324
+msgid "Back to List"
+msgstr ""
+
+#: ipalib/plugins/internal.py:325
+msgid "Cancel"
+msgstr ""
+
+#: ipalib/plugins/internal.py:326
+msgid "Close"
+msgstr ""
+
+#: ipalib/plugins/internal.py:327
+msgid "Enroll"
+msgstr ""
+
+#: ipalib/plugins/internal.py:328
+msgid "Find"
+msgstr ""
+
+#: ipalib/plugins/internal.py:329
+msgid "Get"
+msgstr ""
+
+#: ipalib/plugins/internal.py:330
+msgid "Issue"
+msgstr ""
+
+#: ipalib/plugins/internal.py:331
+msgid "OK"
+msgstr ""
+
+#: ipalib/plugins/internal.py:332
+msgid "Reset"
+msgstr ""
+
+#: ipalib/plugins/internal.py:333
+msgid "Delete"
+msgstr ""
+
+#: ipalib/plugins/internal.py:334
+msgid "Restore"
+msgstr ""
+
+#: ipalib/plugins/internal.py:335
+msgid "Retry"
+msgstr ""
+
+#: ipalib/plugins/internal.py:336
+msgid "Revoke"
+msgstr ""
+
+#: ipalib/plugins/internal.py:337
+msgid "Update"
+msgstr ""
+
+#: ipalib/plugins/internal.py:338
+msgid "View"
+msgstr ""
+
+#: ipalib/plugins/internal.py:341
+msgid "Available"
+msgstr ""
+
+#: ipalib/plugins/internal.py:342
+msgid "This page has unsaved changes. Please save or revert."
+msgstr ""
+
+#: ipalib/plugins/internal.py:343
+msgid "Dirty"
+msgstr ""
+
+#: ipalib/plugins/internal.py:344
+msgid "Hide already enrolled."
+msgstr ""
+
+#: ipalib/plugins/internal.py:345
+msgid "Select ${entity} to be removed."
+msgstr ""
+
+#: ipalib/plugins/internal.py:346
+msgid "Remove ${entity}."
+msgstr ""
+
+#: ipalib/plugins/internal.py:347
+msgid "Prospective"
+msgstr ""
+
+#: ipalib/plugins/internal.py:350
+msgid "Managed by"
+msgstr ""
+
+#: ipalib/plugins/internal.py:351
+msgid "Member"
+msgstr ""
+
+#: ipalib/plugins/internal.py:352
+msgid "Indirect Member"
+msgstr ""
+
+#: ipalib/plugins/internal.py:353
+msgid "Member Of"
+msgstr ""
+
+#: ipalib/plugins/internal.py:354
+msgid "Indirect Member Of"
+msgstr ""
+
+#: ipalib/plugins/internal.py:355 ipalib/plugins/internal.py:359
+msgid "Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:358
+msgid "Search"
+msgstr ""
+
+#: ipalib/plugins/internal.py:362
+msgid "Quick Links"
+msgstr ""
+
+#: ipalib/plugins/internal.py:363
+msgid "Select All"
+msgstr ""
+
+#: ipalib/plugins/internal.py:364
+msgid "Unselect All"
+msgstr ""
+
+#: ipalib/plugins/internal.py:365
+msgid "Are you sure you want to delete selected entries?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:366
+msgid ""
+"Query returned more results than the configured size limit. Displaying the "
+"first ${counter} results."
+msgstr ""
+
+#: ipalib/plugins/internal.py:370
+msgid "General"
+msgstr ""
+
+#: ipalib/plugins/internal.py:371
+msgid "Identity Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:372
+msgid "${entity} ${primary_key} Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:373
+msgid "Back to Top"
+msgstr ""
+
+#: ipalib/plugins/internal.py:377
+msgid "Policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:378
+msgid "Audit"
+msgstr ""
+
+#: ipalib/plugins/internal.py:379
+msgid "IPA Server"
+msgstr ""
+
+#: ipalib/plugins/internal.py:380
+msgid "Sudo"
+msgstr ""
+
+#: ipalib/plugins/internal.py:381
+msgid "Host Based Access Control"
+msgstr ""
+
+#: ipalib/plugins/internal.py:382
+msgid "Role Based Access Control"
+msgstr ""
+
+#: ipalib/plugins/internal.py:383
+msgid "Automount"
+msgstr ""
+
+#: ipalib/plugins/internal.py:386
+msgid "Add ${other_entity} into ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:387
+msgid "${other_entity} enrolled in ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:388
+msgid "${entity} ${primary_key} is enrolled in the following ${other_entity}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:389
+msgid "Remove ${other_entity} from ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:392
+msgid "Text does not match field pattern"
+msgstr ""
+
+#: ipalib/plugins/internal.py:395
+msgid ""
+"Your Kerberos ticket is no longer valid. Please run kinit and then click "
+"'Retry'. If this is your first time running the IPA Web UI <a "
+"href='/ipa/config/unauthorized.html'>follow these directions</a> to "
+"configure your browser."
+msgstr ""
+
+#: ipalib/plugins/internal.py:399
+msgid "Dict of I18N messages"
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:20
+msgid ""
+"\n"
+"Backend plugin for Kerberos.\n"
+"\n"
+"This wraps the python-kerberos and python-krbV bindings.\n"
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:35
+msgid ""
+"\n"
+" Kerberos backend plugin.\n"
+"\n"
+" This wraps the `krbV` bindings (and will eventually wrap the `kerberos`\n"
+" bindings also). Importantly, this plugin does correct Unicode\n"
+" encoding/decoding of values going-to/coming-from the bindings.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:44
+msgid ""
+"\n"
+" Return the ``krbV.CCache`` for the default credential cache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:50
+msgid ""
+"\n"
+" Return the ``krb5.Principal`` for the default credential cache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:56
+msgid ""
+"\n"
+" Return the ``krbV.CCache`` for the ``ccname`` credential ccache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:62
+msgid ""
+"\n"
+" Return the ``krb5.Principal`` for the ``ccname`` credential ccache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:68
+msgid ""
+"\n"
+" Return the default ccache file name.\n"
+"\n"
+" This will return something like '/tmp/krb5cc_500'.\n"
+"\n"
+" This cannot return anything meaningful if used in the server as a\n"
+" request is processed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:79
+msgid ""
+"\n"
+" Return the principal name in default credential cache.\n"
+"\n"
+" This will return something like 'admin@EXAMPLE.COM'. If no credential\n"
+" cache exists for the invoking user, None is returned.\n"
+"\n"
+" This cannot return anything meaningful if used in the server as a\n"
+" request is processed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:91
+msgid ""
+"\n"
+" Return the realm from the default credential cache.\n"
+"\n"
+" This will return something like 'EXAMPLE.COM'. If no credential cache\n"
+" exists for the invoking user, None is returned.\n"
+"\n"
+" This cannot return anything meaningful if used in the server as a\n"
+" request is processed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:103
+msgid ""
+"\n"
+" Return the principal from credential cache file at ``ccname``.\n"
+"\n"
+" This will return something like 'admin@EXAMPLE.COM'.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:111
+msgid ""
+"\n"
+" Return the realm from credential cache file at ``ccname``.\n"
+"\n"
+" This will return something like 'EXAMPLE.COM'.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:19
+msgid ""
+"\n"
+"Kerberos ticket policy\n"
+"\n"
+"There is a single Kerberos ticket policy. This policy defines the\n"
+"maximum ticket lifetime and the maximum renewal age, the period during\n"
+"which the ticket is renewable.\n"
+"\n"
+"You can also create a per-user ticket policy by specifying the user login.\n"
+"\n"
+"For changes to the global policy to take effect, restarting the KDC service\n"
+"is required, which can be achieved using:\n"
+"\n"
+"service krb5kdc restart\n"
+"\n"
+"Changes to per-user policies take effect immediately for newly requested\n"
+"tickets (e.g. when the user next runs kinit).\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Display the current Kerberos ticket policy:\n"
+" ipa krbtpolicy-show\n"
+"\n"
+" Reset the policy to the default:\n"
+" ipa krbtpolicy-reset\n"
+"\n"
+" Modify the policy to 8 hours max life, 1-day max renewal:\n"
+" ipa krbtpolicy-mod --maxlife=28800 --maxrenew=86400\n"
+"\n"
+" Display effective Kerberos ticket policy for user 'admin':\n"
+" ipa krbtpolicy-show admin\n"
+"\n"
+" Reset per-user policy for user 'admin':\n"
+" ipa krbtpolicy-reset admin\n"
+"\n"
+" Modify per-user policy for user 'admin':\n"
+" ipa krbtpolicy-mod admin --maxlife=3600\n"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:71
+msgid ""
+"\n"
+" Kerberos Ticket Policy object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:79
+msgid "Kerberos Ticket Policy"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:84 ipalib/plugins/passwd.py:53
+msgid "User name"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:85
+msgid "Manage ticket policy for specific user"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:90
+msgid "Max life"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:91
+msgid "Maximum ticket life (seconds)"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:96
+msgid "Max renew"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:97
+msgid "Maximum renewable age (seconds)"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:111
+msgid ""
+"\n"
+" Modify Kerberos ticket policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:125
+msgid ""
+"\n"
+" Display the current Kerberos ticket policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:149
+msgid ""
+"\n"
+" Reset Kerberos ticket policy to the default values.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:19
+msgid ""
+"\n"
+"Migration to IPA\n"
+"\n"
+"Migrate users and groups from an LDAP server to IPA.\n"
+"\n"
+"This performs an LDAP query against the remote server searching for\n"
+"users and groups in a container. In order to migrate passwords you need\n"
+"to bind as a user that can read the userPassword attribute on the remote\n"
+"server. This is generally restricted to high-level admins such as\n"
+"cn=Directory Manager in 389-ds (this is the default bind user).\n"
+"\n"
+"The default user container is ou=People.\n"
+"\n"
+"The default group container is ou=Groups.\n"
+"\n"
+"Users and groups that already exist on the IPA server are skipped.\n"
+"\n"
+"Two LDAP schemas define how group members are stored: RFC2307 and\n"
+"RFC2307bis. RFC2307bis uses member and uniquemember to specify group\n"
+"members, RFC2307 uses memberUid. The default schema is RFC2307bis.\n"
+"\n"
+"Migrated users do not have Kerberos credentials, they have only their\n"
+"LDAP password. To complete the migration process, users need to go\n"
+"to http://ipa.example.com/ipa/migration and authenticate using their\n"
+"LDAP password in order to generate their Kerberos credentials.\n"
+"\n"
+"Migration is disabled by default. Use the command ipa config-mod to\n"
+"enable it:\n"
+"\n"
+" ipa config-mod --enable-migration=TRUE\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" The simplest migration, accepting all defaults:\n"
+" ipa migrate-ds ldap://ds.example.com:389\n"
+"\n"
+" Specify the user and group container. This can be used to migrate user and\n"
+" group data from an IPA v1 server:\n"
+" ipa migrate-ds --user-container='cn=users,cn=accounts' --group-container='cn=groups,cn=accounts' ldap://ds.example.com:389\n"
+msgstr ""
+
+#: ipalib/plugins/migration.py:78
+msgid ""
+"Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually."
+msgstr ""
+
+#: ipalib/plugins/migration.py:79
+msgid ""
+"Failed to add user to the default group. Use 'ipa group-add-member' to add "
+"manually."
+msgstr ""
+
+#: ipalib/plugins/migration.py:175
+msgid ""
+"\n"
+" Convert usernames in member attributes to work in IPA.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:220
+msgid "Invalid LDAP URI."
+msgstr ""
+
+#: ipalib/plugins/migration.py:225
+msgid ""
+"\n"
+" Migrate users and groups from DS to IPA.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:266
+msgid "LDAP URI"
+msgstr ""
+
+#: ipalib/plugins/migration.py:267
+msgid "LDAP URI of DS server to migrate from"
+msgstr ""
+
+#: ipalib/plugins/migration.py:272
+msgid "bind password"
+msgstr ""
+
+#: ipalib/plugins/migration.py:279
+msgid "Bind DN"
+msgstr ""
+
+#: ipalib/plugins/migration.py:285
+msgid "User container"
+msgstr ""
+
+#: ipalib/plugins/migration.py:286
+msgid "RDN of container for users in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:292
+msgid "Group container"
+msgstr ""
+
+#: ipalib/plugins/migration.py:293
+msgid "RDN of container for groups in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:299
+msgid "User object class"
+msgstr ""
+
+#: ipalib/plugins/migration.py:300
+msgid ""
+"Comma-separated list of objectclasses used to search for user entries in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:306
+msgid "Group object class"
+msgstr ""
+
+#: ipalib/plugins/migration.py:307
+msgid ""
+"Comma-separated list of objectclasses used to search for group entries in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:313
+msgid "LDAP schema"
+msgstr ""
+
+#: ipalib/plugins/migration.py:314
+msgid ""
+"The schema used on the LDAP server. Supported values are RFC2307 and "
+"RFC2307bis. The default is RFC2307bis"
+msgstr ""
+
+#: ipalib/plugins/migration.py:320
+msgid ""
+"Continuous operation mode. Errors are reported but the process continues"
+msgstr ""
+
+#: ipalib/plugins/migration.py:328
+msgid "Lists of objects migrated; categorized by type."
+msgstr ""
+
+#: ipalib/plugins/migration.py:332
+msgid "Lists of objects that could not be migrated; categorized by type."
+msgstr ""
+
+#: ipalib/plugins/migration.py:336
+msgid "False if migration mode was disabled."
+msgstr ""
+
+#: ipalib/plugins/migration.py:340
+msgid "comma-separated list of %s to exclude from migration"
+msgstr ""
+
+#: ipalib/plugins/migration.py:342
+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:347
+msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it."
+msgstr ""
+
+#: ipalib/plugins/migration.py:350
+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:358
+msgid ""
+"\n"
+" Call get_options of the baseclass and add \"exclude\" options\n"
+" for each type of object being migrated.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:375
+msgid ""
+"\n"
+" Convert all \"exclude\" option values to lower-case.\n"
+"\n"
+" Also, empty List parameters are converted to None, but the migration\n"
+" plugin doesn't like that - convert back to empty lists.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:399
+msgid ""
+"\n"
+" Migrate objects from DS to LDAP.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:425
+msgid "Container for %(container)s not found"
+msgstr ""
+
+#: ipalib/plugins/misc.py:20
+msgid ""
+"\n"
+"Misc plug-ins\n"
+msgstr ""
+
+#: ipalib/plugins/misc.py:36
+msgid "Show environment variables"
+msgstr ""
+
+#: ipalib/plugins/misc.py:38
+msgid "%(count)d variables"
+msgstr ""
+
+#: ipalib/plugins/misc.py:47 ipalib/plugins/misc.py:115
+msgid ""
+"retrieve and print all attributes from the server. Affects command output."
+msgstr ""
+
+#: ipalib/plugins/misc.py:61
+msgid "Total number of variables env (>= count)"
+msgstr ""
+
+#: ipalib/plugins/misc.py:66
+msgid "Number of variables returned (<= total)"
+msgstr ""
+
+#: ipalib/plugins/misc.py:106
+msgid "Show all loaded plugins"
+msgstr ""
+
+#: ipalib/plugins/misc.py:108
+msgid "%(count)d plugin loaded"
+msgid_plural "%(count)d plugins loaded"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/misc.py:126
+msgid "Number of plugins loaded"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:20
+msgid ""
+"\n"
+"Netgroups\n"
+"\n"
+"A netgroup is a group used for permission checking. It can contain both\n"
+"user and host values.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new netgroup:\n"
+" ipa netgroup-add --desc=\"NFS admins\" admins\n"
+"\n"
+" Add members to the netgroup:\n"
+" ipa netgroup-add-member --users=tuser1,tuser2 admins\n"
+"\n"
+" Remove a member from the netgroup:\n"
+" ipa netgroup-remove-member --users=tuser2 admins\n"
+"\n"
+" Display information about a netgroup:\n"
+" ipa netgroup-show admins\n"
+"\n"
+" Delete a netgroup:\n"
+" ipa netgroup-del admins\n"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:59
+msgid "Member Host"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:67
+msgid ""
+"\n"
+" Netgroup object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:98
+msgid "Netgroups"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:103
+msgid "Netgroup name"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:110
+msgid "Netgroup description"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:114
+msgid "NIS domain name"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:119
+msgid "IPA unique ID"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:140
+msgid ""
+"\n"
+" Add a new netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:144
+msgid "Added netgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:153
+msgid ""
+"\n"
+" Delete a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:156
+msgid "Deleted netgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:162
+msgid ""
+"\n"
+" Modify a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:166
+msgid "Modified netgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:180
+msgid ""
+"\n"
+" Search for a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:185
+msgid "%(count)d netgroup matched"
+msgid_plural "%(count)d netgroups matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/netgroup.py:213
+msgid ""
+"\n"
+" Display information about a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:222
+msgid ""
+"\n"
+" Add members to a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:258
+msgid ""
+"\n"
+" Remove members from a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/passwd.py:19
+msgid ""
+"\n"
+"Set a user's password\n"
+"\n"
+"If someone other than a user changes that user's password (e.g., Helpdesk\n"
+"resets it) then the password will need to be changed the first time it\n"
+"is used. This is so the end-user is the only one who knows the password.\n"
+"\n"
+"The IPA password policy controls how often a password may be changed,\n"
+"what strength requirements exist, and the length of the password history.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" To reset your own password:\n"
+" ipa passwd\n"
+"\n"
+" To change another user's password:\n"
+" ipa passwd tuser1\n"
+msgstr ""
+
+#: ipalib/plugins/passwd.py:46
+msgid ""
+"\n"
+" Set a user's password\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/passwd.py:64
+msgid "Changed password for \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/passwd.py:67
+msgid ""
+"\n"
+" Execute the passwd operation.\n"
+"\n"
+" The dn should not be passed as a keyword argument as it is constructed\n"
+" by this method.\n"
+"\n"
+" Returns the entry\n"
+"\n"
+" :param principal: The login name or principal of the user\n"
+" :param password: the new password\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:19
+msgid ""
+"\n"
+"Permissions\n"
+"\n"
+"A permission enables fine-grained delegation of rights. A permission is\n"
+"a human-readable form of a 389-ds Access Control Rule, or instruction (ACI).\n"
+"A permission grants the right to perform a specific task such as adding a\n"
+"user, modifying a group, etc.\n"
+"\n"
+"A permission may not contain other permissions.\n"
+"\n"
+"* A permission grants access to read, write, add or delete.\n"
+"* A privilege combines similar permissions (for example all the permissions\n"
+" needed to add a user).\n"
+"* A role grants a set of privileges to users, groups, hosts or hostgroups.\n"
+"\n"
+"A permission is made up of a number of different parts:\n"
+"\n"
+"1. The name of the permission.\n"
+"2. The target of the permission.\n"
+"3. The rights granted by the permission.\n"
+"\n"
+"Rights define what operations are allowed, and may be one or more\n"
+"of the following:\n"
+"1. write - write one or more attributes\n"
+"2. read - read one or more attributes\n"
+"3. add - add a new entry to the tree\n"
+"4. delete - delete an existing entry\n"
+"5. all - all permissions are granted\n"
+"\n"
+"Read permission is granted for most attributes by default so the read\n"
+"permission is not expected to be used very often.\n"
+"\n"
+"Note the distinction between attributes and entries. The permissions are\n"
+"independent, so being able to add a user does not mean that the user will\n"
+"be editable.\n"
+"\n"
+"There are a number of allowed targets:\n"
+"1. type: a type of object (user, group, etc).\n"
+"2. memberof: a member of a group or hostgroup\n"
+"3. filter: an LDAP filter\n"
+"4. subtree: an LDAP filter specifying part of the LDAP DIT. This is a\n"
+" super-set of the \"type\" target.\n"
+"5. targetgroup: grant access to modify a specific group (such as granting\n"
+" the rights to manage group membership)\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a permission that grants the creation of users:\n"
+" ipa permission-add --type=user --permissions=add \"Add Users\"\n"
+"\n"
+" Add a permission that grants the ability to manage group membership:\n"
+" ipa permission-add --attrs=member --permissions=write --type=group \"Manage Group Members\"\n"
+msgstr ""
+
+#: ipalib/plugins/permission.py:84
+msgid "Permission Type"
+msgstr ""
+
+#: ipalib/plugins/permission.py:89
+msgid ""
+"\n"
+" Permission object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:112
+msgid "Permission name"
+msgstr ""
+
+#: ipalib/plugins/permission.py:119
+msgid ""
+"Comma-separated list of permissions to grant (read, write, add, delete, all)"
+msgstr ""
+
+#: ipalib/plugins/permission.py:132
+msgid ""
+"Type of IPA object (user, group, host, hostgroup, service, netgroup, dns)"
+msgstr ""
+
+#: ipalib/plugins/permission.py:138
+msgid "Member of group"
+msgstr ""
+
+#: ipalib/plugins/permission.py:139
+msgid "Target members of a group"
+msgstr ""
+
+#: ipalib/plugins/permission.py:151
+msgid "Subtree to apply permissions to"
+msgstr ""
+
+#: ipalib/plugins/permission.py:157
+msgid "User group to apply permissions to"
+msgstr ""
+
+#: ipalib/plugins/permission.py:177
+msgid ""
+"\n"
+" Add a new permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:181
+msgid "Added permission \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/permission.py:236
+msgid ""
+"\n"
+" Delete a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:240
+msgid "Deleted permission \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/permission.py:256
+msgid ""
+"\n"
+" Modify a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:260
+msgid "Modified permission \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/permission.py:352
+msgid ""
+"\n"
+" Search for permissions.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:356
+msgid "%(count)d permission matched"
+msgid_plural "%(count)d permissions matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/permission.py:405
+msgid ""
+"\n"
+" Display information about a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:428
+msgid ""
+"\n"
+" Add members to a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:437
+msgid ""
+"\n"
+" Remove members from a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/ping.py:19
+msgid ""
+"\n"
+"Ping the remote IPA server\n"
+msgstr ""
+
+#: ipalib/plugins/ping.py:29
+msgid ""
+"\n"
+" ping a remote server\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/ping.py:37
+msgid ""
+"\n"
+" A possible enhancement would be to take an argument and echo it\n"
+" back but a fixed value works for now.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:19
+msgid ""
+"\n"
+"Kerberos pkinit options\n"
+"\n"
+"Enable or disable anonymous pkinit using the principal\n"
+"WELLKNOWN/ANONYMOUS@REALM. The server must have been installed with\n"
+"pkinit support.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Enable anonymous pkinit:\n"
+" ipa pkinit-anonymous enable\n"
+"\n"
+" Disable anonymous pkinit:\n"
+" ipa pkinit-anonymous disable\n"
+"\n"
+"For more information on anonymous pkinit see:\n"
+"\n"
+"http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit\n"
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:46
+msgid ""
+"\n"
+" PKINIT Options\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:51
+msgid "PKINIT"
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:56
+msgid ""
+"\n"
+" Accepts only Enable/Disable.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:67
+msgid ""
+"\n"
+" Enable or Disable Anonymous PKINIT\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:19
+msgid ""
+"\n"
+"Privileges\n"
+"\n"
+"A privilege combines permissions into a logical task. A permission provides\n"
+"the rights to do a single task. There are some IPA operations that require\n"
+"multiple permissions to succeed. A privilege is where permissions are\n"
+"combined in order to perform a specific task.\n"
+"\n"
+"For example, adding a user requires the following permissions:\n"
+" * Creating a new user entry\n"
+" * Resetting a user password\n"
+" * Adding the new user to the default IPA users group\n"
+"\n"
+"Combining these three low-level tasks into a higher level task in the\n"
+"form of a privilege named \"Add User\" makes it easier to manage Roles.\n"
+"\n"
+"A privilege may not contain other privileges.\n"
+"\n"
+"See role and permission for additional information.\n"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:45
+msgid ""
+"\n"
+" Privilege object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:65
+msgid "Privileges"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:70
+msgid "Privilege name"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:77
+msgid "Privilege description"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:85
+msgid ""
+"\n"
+" Add a new privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:89
+msgid "Added privilege \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/privilege.py:95
+msgid ""
+"\n"
+" Delete a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:99
+msgid "Deleted privilege \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/privilege.py:105
+msgid ""
+"\n"
+" Modify a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:109
+msgid "Modified privilege \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/privilege.py:115
+msgid ""
+"\n"
+" Search for privileges.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:119
+msgid "%(count)d privilege matched"
+msgid_plural "%(count)d privileges matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/privilege.py:127
+msgid ""
+"\n"
+" Display information about a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:135
+msgid ""
+"\n"
+" Add members to a privilege\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:144
+msgid ""
+"\n"
+" Remove members from a privilege\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:153
+msgid ""
+"\n"
+" Add permissions to a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:169
+msgid "Number of permissions added"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:177
+msgid ""
+"\n"
+" Remove permissions from a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:195
+msgid "Number of permissions removed"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:20
+msgid ""
+"\n"
+"Password policy\n"
+"\n"
+"A password policy sets limitations on IPA passwords, including maximum\n"
+"lifetime, minimum lifetime, the number of passwords to save in\n"
+"history, the number of character classes required (for stronger passwords)\n"
+"and the minimum password length.\n"
+"\n"
+"By default there is a single, global policy for all users. You can also\n"
+"create a password policy to apply to a group. Each user is only subject\n"
+"to one password policy, either the group policy or the global policy. A\n"
+"group policy stands alone; it is not a super-set of the global policy plus\n"
+"custom settings.\n"
+"\n"
+"Each group password policy requires a unique priority setting. If a user\n"
+"is in multiple groups that have password policies, this priority determines\n"
+"which password policy is applied. A lower value indicates a higher priority\n"
+"policy.\n"
+"\n"
+"Group password policies are automatically removed when the groups they\n"
+"are associated with are removed.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Modify the global policy:\n"
+" ipa pwpolicy-mod --minlength=10\n"
+"\n"
+" Add a new group password policy:\n"
+" ipa pwpolicy-add --maxlife=90 --minlife=1 --history=10 --minclasses=3 --minlength=8 --priority=10 localadmins\n"
+"\n"
+" Display the global password policy:\n"
+" ipa pwpolicy-show\n"
+"\n"
+" Display a group password policy:\n"
+" ipa pwpolicy-show localadmins\n"
+"\n"
+" Display the policy that would be applied to a given user:\n"
+" ipa pwpolicy-show --user=tuser1\n"
+"\n"
+" Modify a group password policy:\n"
+" ipa pwpolicy-mod --minclasses=2 localadmins\n"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:72
+msgid ""
+"\n"
+" Class of Service object used for linking policies with groups\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:87
+msgid "priority must be a unique value (%(prio)d already used by %(gname)s)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:172
+msgid ""
+"\n"
+" Password Policy object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:201
+msgid "Max failures"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:202
+msgid "Consecutive failures before lockout"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:207
+msgid "Failure reset interval"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:208
+msgid "Period after which failure count will be reset (seconds)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:213
+msgid "Lockout duration"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:214
+msgid "Period for which lockout is enforced (seconds)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:224
+msgid "Group"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:225
+msgid "Manage password policy for specific group"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:230
+msgid "Max lifetime (days)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:231
+msgid "Maximum password lifetime (in days)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:236
+msgid "Min lifetime (hours)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:237
+msgid "Minimum password lifetime (in hours)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:242
+msgid "History size"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:243
+msgid "Password history size"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:248
+msgid "Character classes"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:249
+msgid "Minimum number of character classes"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:255
+msgid "Min length"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:256
+msgid "Minimum length of password"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:261
+msgid "Priority"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:262
+msgid "Priority of the policy (higher number means lower priority"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:294
+msgid ""
+"\n"
+" Ensure that the maximum lifetime is greater than the minimum.\n"
+" If there is no minimum lifetime set then don't return an error.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:314
+msgid "Maximum password life must be greater than minimum."
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:333
+msgid ""
+"\n"
+" Add a new group password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:361
+msgid ""
+"\n"
+" Delete a group password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:380
+msgid ""
+"\n"
+" Modify a group password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:391
+msgid "priority cannot be set on global policy"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:423
+msgid ""
+"\n"
+" Display information about password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:428
+msgid "User"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:429
+msgid "Display effective policy for a specific user"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:452
+msgid ""
+"\n"
+" Search for group password policies.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:20
+msgid ""
+"\n"
+"Roles\n"
+"\n"
+"A role is used for fine-grained delegation. A permission grants the ability\n"
+"to perform given low-level tasks (add a user, modify a group, etc.). A\n"
+"privilege combines one or more permissions into a higher-level abstraction\n"
+"such as useradmin. A useradmin would be able to add, delete and modify users.\n"
+"\n"
+"Privileges are assigned to Roles.\n"
+"\n"
+"Users, groups, hosts and hostgroups may be members of a Role.\n"
+"\n"
+"Roles can not contain other roles.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new role:\n"
+" ipa role-add --desc=\"Junior-level admin\" junioradmin\n"
+"\n"
+" Add some privileges to this role:\n"
+" ipa role-add-privilege --privileges=addusers junioradmin\n"
+" ipa role-add-privilege --privileges=change_password junioradmin\n"
+" ipa role-add-privilege --privileges=add_user_to_default_group juioradmin\n"
+"\n"
+" Add a group of users to this role:\n"
+" ipa group-add --desc=\"User admins\" useradmins\n"
+" ipa role-add-member --groups=useradmins junioradmin\n"
+"\n"
+" Display information about a role:\n"
+" ipa role-show junioradmin\n"
+"\n"
+" The result of this is that any users in the group 'useradmins' can\n"
+" add users, reset passwords or add a user to the default IPA user group.\n"
+msgstr ""
+
+#: ipalib/plugins/role.py:62
+msgid ""
+"\n"
+" Role object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:81
+msgid "Role"
+msgstr ""
+
+#: ipalib/plugins/role.py:86
+msgid "Role name"
+msgstr ""
+
+#: ipalib/plugins/role.py:93
+msgid "A description of this role-group"
+msgstr ""
+
+#: ipalib/plugins/role.py:101
+msgid ""
+"\n"
+" Add a new role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:105
+msgid "Added role \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/role.py:111
+msgid ""
+"\n"
+" Delete a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:115
+msgid "Deleted role \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/role.py:121
+msgid ""
+"\n"
+" Modify a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:125
+msgid "Modified role \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/role.py:131
+msgid ""
+"\n"
+" Search for roles.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:135
+msgid "%(count)d role matched"
+msgid_plural "%(count)d roles matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/role.py:143
+msgid ""
+"\n"
+" Display information about a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:151
+msgid ""
+"\n"
+" Add members to a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:159
+msgid ""
+"\n"
+" Remove members from a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:167
+msgid ""
+"\n"
+" Add privileges to a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:183
+msgid "Number of privileges added"
+msgstr ""
+
+#: ipalib/plugins/role.py:191
+msgid ""
+"\n"
+" Remove privileges from a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:207
+msgid "Number of privileges removed"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:19
+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:\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. Add telephoneNumber to the list:\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:56
+msgid ""
+"\n"
+" Determine if the ACI is a Self-service ACI and raise an exception if it\n"
+" isn't.\n"
+"\n"
+" Return the result if it is a self-service ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:64
+msgid "Self-service permission '%(permission)s' not found"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:68
+msgid ""
+"\n"
+" Selfservice object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:75
+msgid "Self Service Permissions"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:80 ipalib/plugins/selfservice.py:81
+msgid "Self-service name"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:114
+msgid ""
+"\n"
+" Add a new self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:118
+msgid "Added selfservice \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:137
+msgid ""
+"\n"
+" Delete a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:142
+msgid "Deleted selfservice \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:158
+msgid ""
+"\n"
+" Modify a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:162
+msgid "Modified selfservice \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:181
+msgid ""
+"\n"
+" Search for a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:185
+msgid "%(count)d selfservice matched"
+msgid_plural "%(count)d selfservices matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/selfservice.py:207
+msgid ""
+"\n"
+" Display information about a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:21
+msgid ""
+"\n"
+"Services\n"
+"\n"
+"A IPA service represents a service that runs on a host. The IPA service\n"
+"record can store a Kerberos principal, an SSL certificate, or both.\n"
+"\n"
+"An IPA service can be managed directly from a machine, provided that\n"
+"machine has been given the correct permission. This is true even for\n"
+"machines other than the one the service is associated with. For example,\n"
+"requesting an SSL certificate using the host service principal credentials\n"
+"of the host. To manage a service using host credentials you need to\n"
+"kinit as the host:\n"
+"\n"
+" # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM\n"
+"\n"
+"Adding an IPA service allows the associated service to request an SSL\n"
+"certificate or keytab, but this is performed as a separate step; they\n"
+"are not produced as a result of adding the service.\n"
+"\n"
+"Only the public aspect of a certificate is stored in a service record;\n"
+"the private key is not stored.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new IPA service:\n"
+" ipa service-add HTTP/web.example.com\n"
+"\n"
+" Allow a host to manage an IPA service certificate:\n"
+" ipa service-add-host --hosts=web.example.com HTTP/web.example.com\n"
+" ipa role-add-member --hosts=web.example.com certadmin\n"
+"\n"
+" 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"
+"\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/service.py:162
+msgid ""
+"\n"
+" For now just verify that it is properly base64-encoded.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:175
+msgid ""
+"\n"
+" Set individual attributes from some values from a certificate.\n"
+"\n"
+" entry_attrs is a dict of an entry\n"
+"\n"
+" returns nothing\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:199
+msgid ""
+"\n"
+" Service object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:226
+msgid "Service principal"
+msgstr ""
+
+#: ipalib/plugins/service.py:242
+msgid ""
+"\n"
+" Add a new IPA new service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:245
+msgid "Added service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/service.py:251
+msgid "force principal name even if not in DNS"
+msgstr ""
+
+#: ipalib/plugins/service.py:284
+msgid ""
+"\n"
+" Delete an IPA service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:287
+msgid "Deleted service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/service.py:321
+msgid ""
+"\n"
+" Modify an existing IPA service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:324
+msgid "Modified service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/service.py:356
+msgid ""
+"\n"
+" Search for IPA services.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:359
+msgid "%(count)d service matched"
+msgid_plural "%(count)d services matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/service.py:394
+msgid ""
+"\n"
+" Display information about an IPA service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:432
+msgid ""
+"\n"
+" Add hosts that can manage this service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:442
+msgid ""
+"\n"
+" Remove hosts that can manage this service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:452
+msgid ""
+"\n"
+" Disable the Kerberos key and SSL certificate of a service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:456
+msgid "Disabled service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:19
+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/sudocmd.py:46
+msgid ""
+"\n"
+" Sudo Command object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:64
+msgid "Sudo Commands"
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:69
+msgid "Sudo Command"
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:75
+msgid "A description of this command"
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:98
+msgid ""
+"\n"
+" Create new sudo command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:102
+msgid "Added sudo command \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:107
+msgid ""
+"\n"
+" Delete sudo command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:111
+msgid "Deleted sudo command \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:116
+msgid ""
+"\n"
+" Modify command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:120
+msgid "Modified sudo command \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:125
+msgid ""
+"\n"
+" Search for commands.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:129
+msgid "%(count)d sudo command matched"
+msgid_plural "%(count)d sudo command matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/sudocmd.py:136
+msgid ""
+"\n"
+" Display sudo command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:19
+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,/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"
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:50
+msgid ""
+"\n"
+" Sudo Group object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:70
+msgid "Sudo Command Group"
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:93
+msgid ""
+"\n"
+" Create new sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:97
+msgid "Added sudo command group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:103
+msgid ""
+"\n"
+" Delete sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:107
+msgid "Deleted sudo command group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:113
+msgid ""
+"\n"
+" Modify group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:117
+msgid "Modified sudo command group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:123
+msgid ""
+"\n"
+" Search for sudo command groups.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:127
+msgid "%(count)d sudo command group matched"
+msgid_plural "%(count)d sudo command groups matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/sudocmdgroup.py:136
+msgid ""
+"\n"
+" Display sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:144
+msgid ""
+"\n"
+" Add members to sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:152
+msgid ""
+"\n"
+" Remove members from sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:19
+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"
+"\n"
+"FreeIPA provides a designated binddn to use with Sudo located at:\n"
+"uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n"
+"\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"
+"\n"
+"For more information, see the FreeIPA Documentation to Sudo.\n"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:44
+msgid ""
+"\n"
+" Sudo Rule management\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:68
+msgid "Sudo Rule"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:98
+msgid "Command category"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:99
+msgid "Command category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:104
+msgid "Run As User category"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:105
+msgid "Run As User category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:110
+msgid "Run As Group category"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:111
+msgid "Run As Group category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:131
+msgid "Sudo Allow Commands"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:135
+msgid "Sudo Deny Commands"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:147
+msgid "Run As User"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:151
+msgid "Run As Group"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:156
+msgid "External User"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:157
+msgid "External User the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:161
+msgid "RunAs External User"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:162
+msgid "External User the commands can run as"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:166
+msgid "RunAs External Group"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:167
+msgid "External Group the commands can run as"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:175
+msgid ""
+"\n"
+" Create new Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:183
+msgid "Added sudo rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:189
+msgid ""
+"\n"
+" Delete Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:197
+msgid ""
+"\n"
+" Modify Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:205
+msgid ""
+"\n"
+" Search for Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:213
+msgid ""
+"\n"
+" Display Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:221
+msgid ""
+"\n"
+" Enable a Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:247
+msgid ""
+"\n"
+" Disable a Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:273 ipalib/plugins/sudorule.py:293
+msgid ""
+"\n"
+" Add commands and sudo command groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:283 ipalib/plugins/sudorule.py:303
+msgid ""
+"\n"
+" Remove commands and sudo command groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:313
+msgid ""
+"\n"
+" Add users and groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:349
+msgid ""
+"\n"
+" Remove users and groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:383
+msgid ""
+"\n"
+" Add hosts and hostgroups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:419
+msgid ""
+"\n"
+" Remove hosts and hostgroups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:453
+msgid ""
+"\n"
+" Add user for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:489
+msgid ""
+"\n"
+" Remove user for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:523
+msgid ""
+"\n"
+" Add group for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:559
+msgid ""
+"\n"
+" Remove group for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:593
+msgid ""
+"\n"
+" Add an option to the Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:600 ipalib/plugins/sudorule.py:641
+msgid "Sudo Option"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:635
+msgid ""
+"\n"
+" Remove an option from Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:20
+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"
+"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/user.py:79
+msgid ""
+"\n"
+" User object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:116
+msgid "User login"
+msgstr ""
+
+#: ipalib/plugins/user.py:123
+msgid "First name"
+msgstr ""
+
+#: ipalib/plugins/user.py:127
+msgid "Last name"
+msgstr ""
+
+#: ipalib/plugins/user.py:130
+msgid "Full name"
+msgstr ""
+
+#: ipalib/plugins/user.py:135
+msgid "Display name"
+msgstr ""
+
+#: ipalib/plugins/user.py:140
+msgid "Initials"
+msgstr ""
+
+#: ipalib/plugins/user.py:146
+msgid "Home directory"
+msgstr ""
+
+#: ipalib/plugins/user.py:150
+msgid "GECOS field"
+msgstr ""
+
+#: ipalib/plugins/user.py:156
+msgid "Login shell"
+msgstr ""
+
+#: ipalib/plugins/user.py:161
+msgid "Kerberos principal"
+msgstr ""
+
+#: ipalib/plugins/user.py:168
+msgid "Email address"
+msgstr ""
+
+#: ipalib/plugins/user.py:173
+msgid "Prompt to set the user password"
+msgstr ""
+
+#: ipalib/plugins/user.py:180
+msgid "UID"
+msgstr ""
+
+#: ipalib/plugins/user.py:181
+msgid "User ID Number (system will assign one if not provided)"
+msgstr ""
+
+#: ipalib/plugins/user.py:188
+msgid "Group ID Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:193
+msgid "Street address"
+msgstr ""
+
+#: ipalib/plugins/user.py:197
+msgid "City"
+msgstr ""
+
+#: ipalib/plugins/user.py:201
+msgid "State/Province"
+msgstr ""
+
+#: ipalib/plugins/user.py:204
+msgid "ZIP"
+msgstr ""
+
+#: ipalib/plugins/user.py:208
+msgid "Telephone Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:211
+msgid "Mobile Telephone Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:214
+msgid "Pager Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:218
+msgid "Fax Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:222
+msgid "Org. Unit"
+msgstr ""
+
+#: ipalib/plugins/user.py:225
+msgid "Job Title"
+msgstr ""
+
+#: ipalib/plugins/user.py:228
+msgid "Manager"
+msgstr ""
+
+#: ipalib/plugins/user.py:231
+msgid "Car License"
+msgstr ""
+
+#: ipalib/plugins/user.py:234
+msgid "Account disabled"
+msgstr ""
+
+#: ipalib/plugins/user.py:258
+msgid ""
+"\n"
+" Given a userid verify the user's existence and return the dn.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:276
+msgid "manager %(manager)s not found"
+msgstr ""
+
+#: ipalib/plugins/user.py:281
+msgid ""
+"\n"
+" Convert a manager dn into a userid\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:295
+msgid ""
+"\n"
+" Add a new user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:298
+msgid "Added user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:303
+msgid "Don't create user private group"
+msgstr ""
+
+#: ipalib/plugins/user.py:333
+msgid "can be at most %(len)d characters"
+msgstr ""
+
+#: ipalib/plugins/user.py:400
+msgid ""
+"\n"
+" Delete a user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:404
+msgid "Deleted user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:413
+msgid ""
+"\n"
+" Modify a user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:417
+msgid "Modified user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:437
+msgid ""
+"\n"
+" Search for users.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:444
+msgid "Self"
+msgstr ""
+
+#: ipalib/plugins/user.py:445
+msgid "Display user record for current Kerberos principal"
+msgstr ""
+
+#: ipalib/plugins/user.py:463
+msgid "%(count)d user matched"
+msgid_plural "%(count)d users matched"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/plugins/user.py:471
+msgid ""
+"\n"
+" Display information about a user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:484
+msgid ""
+"\n"
+" Disable a user account.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:489
+msgid "Disabled user account \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:507
+msgid ""
+"\n"
+" Enable a user account.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:512
+msgid "Enabled user account \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:529
+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.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:538
+msgid "Unlocked account \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/virtual.py:20
+msgid ""
+"\n"
+"Base classes for non-LDAP backend plugins.\n"
+msgstr ""
+
+#: ipalib/plugins/virtual.py:28
+msgid ""
+"\n"
+" A command that doesn't use the LDAP backend but wants to use the\n"
+" LDAP access control system to make authorization decisions.\n"
+"\n"
+" The class variable operation is the commonName attribute of the\n"
+" entry to be tested against.\n"
+"\n"
+" In advance, you need to create an entry of the form:\n"
+" cn=<operation>, api.env.container_virtual, api.env.basedn\n"
+"\n"
+" Ex.\n"
+" cn=request certificate, cn=virtual operations,cn=etc, dc=example, dc=com\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/virtual.py:44
+msgid ""
+"\n"
+" Perform an LDAP query to determine authorization.\n"
+"\n"
+" This should be executed before any actual work is done.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/xmlclient.py:21
+msgid ""
+"\n"
+"XML-RPC client plugin.\n"
+msgstr ""
+
+#: ipalib/cli.py:581
+#, python-format
+msgid "Enter %(label)s again to verify: "
+msgstr ""
+
+#: ipalib/cli.py:585 ipa-client/ipa-getkeytab.c:751
+#, c-format
+msgid "Passwords do not match!"
+msgstr ""
+
+#: ipalib/cli.py:590
+msgid "Cancelled."
+msgstr ""
+
+#: ipalib/cli.py:819
+msgid "Command name"
+msgstr ""
+
+#: ipalib/cli.py:1117
+msgid "No file to read"
+msgstr ""
+
+#: ipalib/errors.py:300
+#, python-format
+msgid "%(cver)s client incompatible with %(sver)s server at %(server)r"
+msgstr ""
+
+#: ipalib/errors.py:318
+#, python-format
+msgid "unknown error %(code)d from %(server)s: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:334
+msgid "an internal error has occurred"
+msgstr ""
+
+#: ipalib/errors.py:356
+#, python-format
+msgid "an internal error has occurred on server at %(server)r"
+msgstr ""
+
+#: ipalib/errors.py:372
+#, python-format
+msgid "unknown command %(name)r"
+msgstr ""
+
+#: ipalib/errors.py:389 ipalib/errors.py:414
+#, python-format
+msgid "error on server %(server)r: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:405
+#, python-format
+msgid "cannot connect to %(uri)r: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:423
+#, python-format
+msgid "Invalid JSON-RPC request: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:439
+#, python-format
+msgid "error marshalling data for XML-RPC transport: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:465
+#, python-format
+msgid "Kerberos error: %(major)s/%(minor)s"
+msgstr ""
+
+#: ipalib/errors.py:482
+msgid "did not receive Kerberos credentials"
+msgstr ""
+
+#: ipalib/errors.py:498
+#, python-format
+msgid "Service %(service)r not found in Kerberos database"
+msgstr ""
+
+#: ipalib/errors.py:514
+msgid "No credentials cache found"
+msgstr ""
+
+#: ipalib/errors.py:530
+msgid "Ticket expired"
+msgstr ""
+
+#: ipalib/errors.py:546
+msgid "Credentials cache permissions incorrect"
+msgstr ""
+
+#: ipalib/errors.py:562
+msgid "Bad format in credentials cache"
+msgstr ""
+
+#: ipalib/errors.py:578
+msgid "Cannot resolve KDC for requested realm"
+msgstr ""
+
+#: ipalib/errors.py:597
+#, python-format
+msgid "Insufficient access: %(info)s"
+msgstr ""
+
+#: ipalib/errors.py:641
+#, python-format
+msgid "command %(name)r takes no arguments"
+msgstr ""
+
+#: ipalib/errors.py:661
+#, python-format
+msgid "command %(name)r takes at most %(count)d argument"
+msgid_plural "command %(name)r takes at most %(count)d arguments"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ipalib/errors.py:691
+#, python-format
+msgid "overlapping arguments and options: %(names)r"
+msgstr ""
+
+#: ipalib/errors.py:707
+#, python-format
+msgid "%(name)r is required"
+msgstr ""
+
+#: ipalib/errors.py:723 ipalib/errors.py:739
+#, python-format
+msgid "invalid %(name)r: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:755
+#, python-format
+msgid "api has no such namespace: %(name)r"
+msgstr ""
+
+#: ipalib/errors.py:764
+msgid "Passwords do not match"
+msgstr ""
+
+#: ipalib/errors.py:773
+msgid "Command not implemented"
+msgstr ""
+
+#: ipalib/errors.py:782
+msgid "Client is not configured. Run ipa-client-install."
+msgstr ""
+
+#: ipalib/errors.py:810 ipalib/errors.py:1050 ipalib/errors.py:1144
+#: ipalib/errors.py:1424 ipalib/errors.py:1441
+#, python-format
+msgid "%(reason)s"
+msgstr ""
+
+#: ipalib/errors.py:826
+msgid "This entry already exists"
+msgstr ""
+
+#: ipalib/errors.py:842
+msgid "You must enroll a host in order to create a host service"
+msgstr ""
+
+#: ipalib/errors.py:858
+#, python-format
+msgid ""
+"Service principal is not of the form: service/fully-qualified host name: "
+"%(reason)s"
+msgstr ""
+
+#: ipalib/errors.py:874
+msgid ""
+"The realm for the principal does not match the realm for this IPA server"
+msgstr ""
+
+#: ipalib/errors.py:890
+msgid "This command requires root access"
+msgstr ""
+
+#: ipalib/errors.py:906
+msgid "This is already a posix group"
+msgstr ""
+
+#: ipalib/errors.py:922
+#, python-format
+msgid "Principal is not of the form user@REALM: %(principal)r"
+msgstr ""
+
+#: ipalib/errors.py:938
+msgid "This entry is already enabled"
+msgstr ""
+
+#: ipalib/errors.py:954
+msgid "This entry is already disabled"
+msgstr ""
+
+#: ipalib/errors.py:970
+msgid "This entry cannot be enabled or disabled"
+msgstr ""
+
+#: ipalib/errors.py:986
+msgid "This entry is not a member"
+msgstr ""
+
+#: ipalib/errors.py:1002
+msgid "A group may not be a member of itself"
+msgstr ""
+
+#: ipalib/errors.py:1018
+msgid "This entry is already a member"
+msgstr ""
+
+#: ipalib/errors.py:1034
+#, python-format
+msgid "Base64 decoding failed: %(reason)s"
+msgstr ""
+
+#: ipalib/errors.py:1066
+msgid "A group may not be added as a member of itself"
+msgstr ""
+
+#: ipalib/errors.py:1082
+msgid "The default users group cannot be removed"
+msgstr ""
+
+#: ipalib/errors.py:1098
+msgid "Host does not have corresponding DNS A record"
+msgstr ""
+
+#: ipalib/errors.py:1113
+msgid "Deleting a managed group is not allowed. It must be detached first."
+msgstr ""
+
+#: ipalib/errors.py:1128
+msgid "A managed group cannot have a password policy."
+msgstr ""
+
+#: ipalib/errors.py:1160
+#, python-format
+msgid "'%(entry)s' doesn't have a certificate."
+msgstr ""
+
+#: ipalib/errors.py:1176
+#, python-format
+msgid "Unable to create private group. A group '%(group)s' already exists."
+msgstr ""
+
+#: ipalib/errors.py:1192
+#, python-format
+msgid ""
+"A problem was encountered when verifying that all members were %(verb)s: "
+"%(exc)s"
+msgstr ""
+
+#: ipalib/errors.py:1216
+#, python-format
+msgid "no command nor help topic %(topic)r"
+msgstr ""
+
+#: ipalib/errors.py:1240
+msgid "change collided with another change"
+msgstr ""
+
+#: ipalib/errors.py:1256
+msgid "no modifications to be performed"
+msgstr ""
+
+#: ipalib/errors.py:1272
+#, python-format
+msgid "%(desc)s: %(info)s"
+msgstr ""
+
+#: ipalib/errors.py:1288
+msgid "limits exceeded for this query"
+msgstr ""
+
+#: ipalib/errors.py:1303
+#, python-format
+msgid "%(info)s"
+msgstr ""
+
+#: ipalib/errors.py:1318
+msgid "modifying primary key is not allowed"
+msgstr ""
+
+#: ipalib/errors.py:1334
+#, python-format
+msgid "%(attr)s: Only one value allowed."
+msgstr ""
+
+#: ipalib/errors.py:1350
+#, python-format
+msgid "%(attr)s: Invalid syntax."
+msgstr ""
+
+#: ipalib/errors.py:1366
+#, python-format
+msgid "Bad search filter %(info)s"
+msgstr ""
+
+#: ipalib/errors.py:1391
+#, python-format
+msgid "Certificate operation cannot be completed: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:1407
+#, python-format
+msgid "Certificate format error: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:1458
+msgid "Already registered"
+msgstr ""
+
+#: ipalib/errors.py:1474
+msgid "Not registered yet"
+msgstr ""
+
+#: ipalib/frontend.py:398
+msgid "Results are truncated, try a more specific search"
+msgstr ""
+
+#: ipalib/frontend.py:850
+msgid ""
+"Retrieve and print all attributes from the server. Affects command output."
+msgstr ""
+
+#: ipalib/frontend.py:856
+msgid "Print entries as stored on the server. Only affects output format."
+msgstr ""
+
+#: ipalib/frontend.py:985
+msgid "Forward to server instead of running locally"
+msgstr ""
+
+#: ipalib/output.py:92
+msgid "A dictionary representing an LDAP entry"
+msgstr ""
+
+#: ipalib/output.py:100
+msgid "A list of LDAP entries"
+msgstr ""
+
+#: ipalib/output.py:111
+msgid "All commands should at least have a result"
+msgstr ""
+
+#: ipalib/parameters.py:296
+msgid "incorrect type"
+msgstr ""
+
+#: ipalib/parameters.py:299
+msgid "Only one value is allowed"
+msgstr ""
+
+#: ipalib/parameters.py:901
+msgid "must be True or False"
+msgstr ""
+
+#: ipalib/parameters.py:1002
+msgid "must be an integer"
+msgstr ""
+
+#: ipalib/parameters.py:1054
+#, python-format
+msgid "must be at least %(minvalue)d"
+msgstr ""
+
+#: ipalib/parameters.py:1064
+#, python-format
+msgid "can be at most %(maxvalue)d"
+msgstr ""
+
+#: ipalib/parameters.py:1074
+msgid "must be a decimal number"
+msgstr ""
+
+#: ipalib/parameters.py:1097
+#, python-format
+msgid "must be at least %(minvalue)f"
+msgstr ""
+
+#: ipalib/parameters.py:1107
+#, python-format
+msgid "can be at most %(maxvalue)f"
+msgstr ""
+
+#: ipalib/parameters.py:1174
+#, python-format
+msgid "must match pattern \"%(pattern)s\""
+msgstr ""
+
+#: ipalib/parameters.py:1192
+msgid "must be binary data"
+msgstr ""
+
+#: ipalib/parameters.py:1208
+#, python-format
+msgid "must be at least %(minlength)d bytes"
+msgstr ""
+
+#: ipalib/parameters.py:1218
+#, python-format
+msgid "can be at most %(maxlength)d bytes"
+msgstr ""
+
+#: ipalib/parameters.py:1228
+#, python-format
+msgid "must be exactly %(length)d bytes"
+msgstr ""
+
+#: ipalib/parameters.py:1246
+msgid "must be Unicode text"
+msgstr ""
+
+#: ipalib/parameters.py:1277
+#, python-format
+msgid "must be at least %(minlength)d characters"
+msgstr ""
+
+#: ipalib/parameters.py:1287
+#, python-format
+msgid "can be at most %(maxlength)d characters"
+msgstr ""
+
+#: ipalib/parameters.py:1297
+#, python-format
+msgid "must be exactly %(length)d characters"
+msgstr ""
+
+#: ipalib/parameters.py:1315
+#, python-format
+msgid "The character '%(char)r' is not allowed."
+msgstr ""
+
+#: ipalib/parameters.py:1355
+#, python-format
+msgid "must be one of %(values)r"
+msgstr ""
+
+#: ipalib/util.py:200
+#, python-format
+msgid "Permission denied: %(file)s"
+msgstr ""
+
+#: ipalib/x509.py:174
+#, python-format
+msgid "Issuer \"%(issuer)s\" does not match the expected issuer"
+msgstr ""
+
+#: ipaserver/plugins/dogtag.py:1313 ipaserver/plugins/dogtag.py:1398
+#: ipaserver/plugins/dogtag.py:1463 ipaserver/plugins/dogtag.py:1541
+#: ipaserver/plugins/dogtag.py:1600
+#, python-format
+msgid "Unable to communicate with CMS (%s)"
+msgstr ""
+
+#: ipaserver/plugins/join.py:54
+msgid "The hostname to register as"
+msgstr ""
+
+#: ipaserver/plugins/join.py:62
+msgid "The IPA realm"
+msgstr ""
+
+#: ipaserver/plugins/join.py:68
+msgid "Hardware platform of the host (e.g. Lenovo T61)"
+msgstr ""
+
+#: ipaserver/plugins/join.py:72
+msgid "Operating System and version of the host (e.g. Fedora 9)"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:99
+#, python-format
+msgid ""
+"Request subject \"%(request_subject)s\" does not match the form "
+"\"%(subject_base)s\""
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:104
+#, python-format
+msgid "unable to decode csr: %s"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:125 ipaserver/plugins/selfsign.py:140
+msgid "file operation"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:154
+msgid "cannot obtain next serial number"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:189
+msgid "certutil failure"
+msgstr ""
+
+#: ipa-client/config.c:55
+#, c-format
+msgid "cannot open configuration file %s\n"
+msgstr ""
+
+#: ipa-client/config.c:62
+#, c-format
+msgid "cannot stat() configuration file %s\n"
+msgstr ""
+
+#: ipa-client/config.c:68
+#, c-format
+msgid "out of memory\n"
+msgstr ""
+
+#: ipa-client/config.c:79
+#, c-format
+msgid "read error\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:85 ipa-client/ipa-getkeytab.c:821
+#: ipa-client/ipa-rmkeytab.c:190
+#, c-format
+msgid "Kerberos context initialization failed\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:147 ipa-client/ipa-getkeytab.c:834
+#, c-format
+msgid "No system preferred enctypes ?!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:155
+#, c-format
+msgid "Out of memory!?\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:173 ipa-client/ipa-getkeytab.c:188
+#, c-format
+msgid "Out of memory\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:203
+#, c-format
+msgid "Warning unrecognized encryption type: [%s]\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:218
+#, c-format
+msgid "Warning unrecognized salt type: [%s]\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:245
+#, c-format
+msgid "Enctype comparison failed!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:307
+#, c-format
+msgid "Failed to create random key!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:320 ipa-client/ipa-getkeytab.c:337
+#: ipa-client/ipa-getkeytab.c:345 ipa-client/ipa-getkeytab.c:382
+#, c-format
+msgid "Failed to create key!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:327 ipa-client/ipa-getkeytab.c:360
+#: ipa-client/ipa-join.c:417 ipa-client/ipa-join.c:426
+#: ipa-client/ipa-join.c:563 ipa-client/ipa-join.c:751
+#: ipa-client/ipa-join.c:819
+#, c-format
+msgid "Out of memory!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:371
+#, c-format
+msgid "Bad or unsupported salt type (%d)!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:492
+#, c-format
+msgid "No keys accepted by KDC\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:507
+#, c-format
+msgid "Out of memory \n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:545
+#, c-format
+msgid "Out of Memory!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:552
+#, c-format
+msgid "Failed to create control!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:576
+#, c-format
+msgid "Unable to initialize ldap library!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:583
+#, c-format
+msgid "Unable to set ldap options!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:596
+#, c-format
+msgid "Simple bind failed\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:606
+#, c-format
+msgid "SASL Bind failed!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:622 ipa-client/ipa-getkeytab.c:635
+#: ipa-client/ipa-getkeytab.c:642 ipa-client/ipa-getkeytab.c:649
+#, c-format
+msgid "Operation failed! %s\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:655 ipa-client/ipa-getkeytab.c:665
+#, c-format
+msgid "Missing reply control!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:672
+#, c-format
+msgid "ber_init() failed, Invalid control ?!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:691 ipa-client/ipa-getkeytab.c:698
+#, c-format
+msgid "ber_scanf() failed, Invalid control ?!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:736
+msgid "New Principal Password"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:742
+msgid "Verify Principal Password"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:776
+msgid "Print as little as possible"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:776
+msgid "Output only on errors"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:778
+msgid "Contact this specific KDC Server"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:779
+msgid "Server Name"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:781 ipa-client/ipa-rmkeytab.c:171
+msgid ""
+"The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:782 ipa-client/ipa-rmkeytab.c:172
+msgid "Kerberos Service Principal Name"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:784 ipa-client/ipa-rmkeytab.c:174
+msgid "File were to store the keytab information"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:785 ipa-client/ipa-rmkeytab.c:174
+msgid "Keytab File Name"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:787
+msgid "Encryption types to request"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:788
+msgid "Comma separated encryption types list"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:790
+msgid "Show the list of permitted encryption types and exit"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:791
+msgid "Permitted Encryption Types"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:793
+msgid "Asks for a non-random password to use for the principal"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:795
+msgid "LDAP DN"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:795
+msgid "DN to bind as if not using kerberos"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:797
+msgid "LDAP password"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:797
+msgid "password to use if not using kerberos"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:837
+#, c-format
+msgid "Supported encryption types:\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:841
+#, c-format
+msgid "Warning: failed to convert type (#%d)\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:860
+#, c-format
+msgid "Bind password required when using a bind DN.\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:873
+#, c-format
+msgid ""
+"Warning: salt types are not honored with randomized passwords (see opt. "
+"-P)\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:885
+#, c-format
+msgid "Invalid Service Principal Name\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:893
+#, c-format
+msgid "Kerberos Credential Cache not found. Do you have a Kerberos Ticket?\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:901
+#, c-format
+msgid ""
+"Kerberos User Principal not found. Do you have a valid Credential Cache?\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:909
+#, c-format
+msgid "Failed to open Keytab\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:916
+#, c-format
+msgid "Failed to create key material\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:935
+#, c-format
+msgid "Failed to add key to the keytab\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:944
+#, c-format
+msgid "Failed to close the keytab\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:950
+#, c-format
+msgid "Keytab successfully retrieved and stored in: %s\n"
+msgstr ""
+
+#: ipa-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
+#, c-format
+msgid "No write permissions on keytab file '%s'\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:111
+#, c-format
+msgid "access() on %s failed: errno = %d\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:143 ipa-client/ipa-join.c:197
+#, c-format
+msgid "Out of memory!"
+msgstr ""
+
+#: ipa-client/ipa-join.c:204
+#, c-format
+msgid "Unable to initialize connection to ldap server: %s"
+msgstr ""
+
+#: ipa-client/ipa-join.c:210
+#, c-format
+msgid "Unable to enable SSL in LDAP\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:216
+#, c-format
+msgid "Unable to set LDAP version\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:236
+#, c-format
+msgid "Bind failed: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:269
+#, c-format
+msgid "Search for %s on rootdse failed with error %d"
+msgstr ""
+
+#: ipa-client/ipa-join.c:279 ipa-client/ipa-join.c:331
+#, c-format
+msgid "No values for %s"
+msgstr ""
+
+#: ipa-client/ipa-join.c:322
+#, c-format
+msgid "Search for ipaCertificateSubjectBase failed with error %d"
+msgstr ""
+
+#: ipa-client/ipa-join.c:390
+#, c-format
+msgid "Unable to determine root DN of %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:399
+#, c-format
+msgid "Unable to determine certificate subject of %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:407
+#, c-format
+msgid "Unable to make an LDAP connection to %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:432
+#, c-format
+msgid "Searching with %s in %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:438
+#, c-format
+msgid "ldap_search_ext_s: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:446
+#, c-format
+msgid "Unable to find host '%s'\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:453
+#, c-format
+msgid "Unable to get binddn for host '%s'\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:466
+#, c-format
+msgid "Host already has principal, trying bind anyway\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:480 ipa-client/ipa-join.c:633
+#, c-format
+msgid "Host is already joined.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:484
+#, c-format
+msgid "Incorrect password.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:495
+#, c-format
+msgid "principal not found in host entry\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:618
+#, c-format
+msgid "principal not found in XML-RPC response\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:699 ipa-client/ipa-join.c:900
+#, c-format
+msgid "Unable to determine IPA server from %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:715 ipa-client/ipa-join.c:915
+#, c-format
+msgid "The hostname must be fully-qualified: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:724 ipa-client/ipa-join.c:925
+#, c-format
+msgid "Unable to join host: Kerberos context initialization failed\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:732
+#, c-format
+msgid "Error resolving keytab: %s.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:741
+#, c-format
+msgid "Error getting default Kerberos realm: %s.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:759
+#, c-format
+msgid "Error parsing \"%s\": %s.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:777
+#, c-format
+msgid "Error obtaining initial credentials: %s.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:788
+#, c-format
+msgid "Unable to generate Kerberos Credential Cache\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:796
+#, c-format
+msgid "Error storing creds in credential cache: %s.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:846
+#, c-format
+msgid "Unenrollment successful.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:849
+#, c-format
+msgid "Unenrollment failed.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:854
+#, c-format
+msgid "result not found in XML-RPC response\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:932
+#, c-format
+msgid "Unable to join host: Kerberos Credential Cache not found\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:940
+#, c-format
+msgid ""
+"Unable to join host: Kerberos User Principal not found and host password not"
+" provided.\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:954
+#, c-format
+msgid "fork() failed\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:983
+#, c-format
+msgid "ipa-getkeytab not found\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:986
+#, c-format
+msgid "ipa-getkeytab has bad permissions?\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:989
+#, c-format
+msgid "executing ipa-getkeytab failed, errno %d\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1001
+#, c-format
+msgid "child exited with %d\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1007
+#, c-format
+msgid "Certificate subject base is: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1042
+msgid "Print the raw XML-RPC output in GSSAPI mode"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1044
+msgid "Quiet mode. Only errors are displayed."
+msgstr ""
+
+#: ipa-client/ipa-join.c:1046
+msgid "Unenroll this host from IPA server"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1048
+msgid "Hostname of this server"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1048 ipa-client/ipa-join.c:1050
+msgid "hostname"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1050
+msgid "IPA Server to use"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1052
+msgid "Specifies where to store keytab information."
+msgstr ""
+
+#: ipa-client/ipa-join.c:1052
+msgid "filename"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1054
+msgid "LDAP password (if not using Kerberos)"
+msgstr ""
+
+#: ipa-client/ipa-join.c:1054
+msgid "password"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:43
+#, c-format
+msgid "Unable to parse principal name\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:45
+#, c-format
+msgid "krb5_parse_name %d: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:55
+#, c-format
+msgid "Removing principal %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:68
+#, c-format
+msgid "Failed to open keytab\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:72
+#, c-format
+msgid "principal not found\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:74
+#, c-format
+msgid "krb5_kt_get_entry %d: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:82
+#, c-format
+msgid "Unable to remove entry\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:84
+#, c-format
+msgid "kvno %d\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:85
+#, c-format
+msgid "krb5_kt_remove_entry %d: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:119
+#, c-format
+msgid "Unable to parse principal\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:121
+#, c-format
+msgid "krb5_unparse_name %d: %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:143
+#, c-format
+msgid "realm not found\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:169
+msgid "Print debugging information"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:169
+msgid "Debugging output"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:176
+msgid "Remove all principals in this realm"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:176
+msgid "Realm name"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:230 ipa-client/ipa-rmkeytab.c:237
+#, c-format
+msgid "Failed to open keytab '%s': %s\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:253
+#, c-format
+msgid "Closing keytab failed\n"
+msgstr ""
+
+#: ipa-client/ipa-rmkeytab.c:255
+#, c-format
+msgid "krb5_kt_close %d: %s\n"
+msgstr ""
+
+
diff --git a/install/po/fa.po b/install/po/fa.po
new file mode 100644
index 0000000..ae6d679
--- /dev/null
+++ b/install/po/fa.po
@@ -0,0 +1,7794 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Red Hat
+# This file is distributed under the same license as the PACKAGE package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeIPA\n"
+"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?product=freeIPA\n"
+"POT-Creation-Date: 2011-06-06 13:27-0400\n"
+"PO-Revision-Date: 2011-07-27 00:01+0000\n"
+"Last-Translator: jdennis <jdennis@redhat.com>\n"
+"Language-Team: Persian (http://www.transifex.net/projects/p/fedora/team/fa/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fa\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+
+#: ipalib/plugins/__init__.py:20
+msgid ""
+"\n"
+"Sub-package containing all core plugins.\n"
+msgstr ""
+
+#: ipalib/plugins/aci.py:20
+msgid ""
+"\n"
+"Directory Server Access Control Instructions (ACIs)\n"
+"\n"
+"ACIs are used to allow or deny access to information. This module is\n"
+"currently designed to allow, not deny, access.\n"
+"\n"
+"The aci commands are designed to grant permissions that allow updating\n"
+"existing entries or adding or deleting new ones. The goal of the ACIs\n"
+"that ship with IPA is to provide a set of low-level permissions that\n"
+"grant access to special groups called taskgroups. These low-level\n"
+"permissions can be combined into roles that grant broader access. These\n"
+"roles are another type of group, roles.\n"
+"\n"
+"For example, if you have taskgroups that allow adding and modifying users you\n"
+"could create a role, useradmin. You would assign users to the useradmin\n"
+"role to allow them to do the operations defined by the taskgroups.\n"
+"\n"
+"You can create ACIs that delegate permission so users in group A can write\n"
+"attributes on group B.\n"
+"\n"
+"The type option is a map that applies to all entries in the users, groups or\n"
+"host location. It is primarily designed to be used when granting add\n"
+"permissions (to write new entries).\n"
+"\n"
+"An ACI consists of three parts:\n"
+"1. target\n"
+"2. permissions\n"
+"3. bind rules\n"
+"\n"
+"The target is a set of rules that define which LDAP objects are being\n"
+"targeted. This can include a list of attributes, an area of that LDAP\n"
+"tree or an LDAP filter.\n"
+"\n"
+"The targets include:\n"
+"- attrs: list of attributes affected\n"
+"- type: an object type (user, group, host, service, etc)\n"
+"- memberof: members of a group\n"
+"- targetgroup: grant access to modify a specific group. This is primarily\n"
+" designed to enable users to add or remove members of a specific group.\n"
+"- filter: A legal LDAP filter used to narrow the scope of the target.\n"
+"- subtree: Used to apply a rule across an entire set of objects. For example,\n"
+" to allow adding users you need to grant \"add\" permission to the subtree\n"
+" ldap://uid=*,cn=users,cn=accounts,dc=example,dc=com. The subtree option\n"
+" is a fail-safe for objects that may not be covered by the type option.\n"
+"\n"
+"The permissions define what the the ACI is allowed to do, and are one or\n"
+"more of:\n"
+"1. write - write one or more attributes\n"
+"2. read - read one or more attributes\n"
+"3. add - add a new entry to the tree\n"
+"4. delete - delete an existing entry\n"
+"5. all - all permissions are granted\n"
+"\n"
+"Note the distinction between attributes and entries. The permissions are\n"
+"independent, so being able to add a user does not mean that the user will\n"
+"be editable.\n"
+"\n"
+"The bind rule defines who this ACI grants permissions to. The LDAP server\n"
+"allows this to be any valid LDAP entry but we encourage the use of\n"
+"taskgroups so that the rights can be easily shared through roles.\n"
+"\n"
+"For a more thorough description of access controls see\n"
+"http://www.redhat.com/docs/manuals/dir-server/ag/8.0/Managing_Access_Control.html\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+"NOTE: ACIs are now added via the permission plugin. These examples are to\n"
+"demonstrate how the various options work but this is done via the permission\n"
+"command-line now (see last example).\n"
+"\n"
+" Add an ACI so that the group \"secretaries\" can update the address on any user:\n"
+" ipa group-add --desc=\"Office secretaries\" secretaries\n"
+" ipa aci-add --attrs=streetAddress --memberof=ipausers --group=secretaries --permissions=write --prefix=none \"Secretaries write addresses\"\n"
+"\n"
+" Show the new ACI:\n"
+" ipa aci-show --prefix=none \"Secretaries write addresses\"\n"
+"\n"
+" Add an ACI that allows members of the \"addusers\" permission to add new users:\n"
+" ipa aci-add --type=user --permission=addusers --permissions=add --prefix=none \"Add new users\"\n"
+"\n"
+" Add an ACI that allows members of the editors manage members of the admins group:\n"
+" ipa aci-add --permissions=write --attrs=member --targetgroup=admins --group=editors --prefix=none \"Editors manage admins\"\n"
+"\n"
+" Add an ACI that allows members of the admin group to manage the street and zip code of those in the editors group:\n"
+" ipa aci-add --permissions=write --memberof=editors --group=admins --attrs=street,postalcode --prefix=none \"admins edit the address of editors\"\n"
+"\n"
+" Add an ACI that allows the admins group manage the street and zipcode of those who work for the boss:\n"
+" ipa aci-add --permissions=write --group=admins --attrs=street,postalcode --filter=\"(manager=uid=boss,cn=users,cn=accounts,dc=example,dc=com)\" --prefix=none \"Edit the address of those who work for the boss\"\n"
+"\n"
+" Add an entirely new kind of record to IPA that isn't covered by any of the --type options, creating a permission:\n"
+" ipa permission-add --permissions=add --subtree=\"cn=*,cn=orange,cn=accounts,dc=example,dc=com\" --desc=\"Add Orange Entries\" add_orange\n"
+"\n"
+"\n"
+"The show command shows the raw 389-ds ACI.\n"
+"\n"
+"IMPORTANT: When modifying the target attributes of an existing ACI you\n"
+"must include all existing attributes as well. When doing an aci-mod the\n"
+"targetattr REPLACES the current attributes, it does not add to them.\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/aci.py:153
+msgid "A list of ACI values"
+msgstr ""
+
+#: ipalib/plugins/aci.py:172
+msgid ""
+"\n"
+" Given a name and a prefix construct an ACI name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:181
+msgid ""
+"\n"
+" Parse the raw ACI name and return a tuple containing the ACI prefix\n"
+" and the actual ACI name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:193
+msgid ""
+"\n"
+" Pull the group name out of a memberOf filter\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:204
+msgid ""
+"\n"
+" Given a name and a set of keywords construct an ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:215
+msgid "type, filter, subtree and targetgroup are mutually exclusive"
+msgstr ""
+
+#: ipalib/plugins/aci.py:218
+msgid "ACI prefix is required"
+msgstr ""
+
+#: ipalib/plugins/aci.py:221
+msgid ""
+"at least one of: type, filter, subtree, targetgroup, attrs or memberof are "
+"required"
+msgstr ""
+
+#: ipalib/plugins/aci.py:224
+msgid "filter and memberof are mutually exclusive"
+msgstr ""
+
+#: ipalib/plugins/aci.py:230
+msgid "group, permission and self are mutually exclusive"
+msgstr ""
+
+#: ipalib/plugins/aci.py:232
+msgid "One of group, permission or self is required"
+msgstr ""
+
+#: ipalib/plugins/aci.py:251
+msgid "Group '%s' does not exist"
+msgstr ""
+
+#: ipalib/plugins/aci.py:273
+msgid "empty filter"
+msgstr ""
+
+#: ipalib/plugins/aci.py:294
+msgid "Syntax Error: %(error)s"
+msgstr ""
+
+#: ipalib/plugins/aci.py:299
+msgid ""
+"Convert an ACI into its equivalent keywords.\n"
+"\n"
+" This is used for the modify operation so we can merge the\n"
+" incoming kw and existing ACI and pass the result to\n"
+" _make_aci().\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:379
+msgid "ACI with name \"%s\" not found"
+msgstr ""
+
+#: ipalib/plugins/aci.py:400
+msgid "ACI prefix"
+msgstr ""
+
+#: ipalib/plugins/aci.py:401
+msgid ""
+"Prefix used to distinguish ACI types (permission, delegation, selfservice, "
+"none)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:407
+msgid ""
+"\n"
+" ACI object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:412
+msgid "ACIs"
+msgstr ""
+
+#: ipalib/plugins/aci.py:417
+msgid "ACI name"
+msgstr ""
+
+#: ipalib/plugins/aci.py:422
+msgid "Permission"
+msgstr ""
+
+#: ipalib/plugins/aci.py:423
+msgid "Permission ACI grants access to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:427 ipalib/plugins/delegation.py:130
+msgid "User group"
+msgstr ""
+
+#: ipalib/plugins/aci.py:428 ipalib/plugins/delegation.py:131
+msgid "User group ACI grants access to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:432 ipalib/plugins/baseldap.py:60
+#: ipalib/plugins/delegation.py:113 ipalib/plugins/permission.py:107
+#: ipalib/plugins/permission.py:118 ipalib/plugins/selfservice.py:86
+msgid "Permissions"
+msgstr ""
+
+#: ipalib/plugins/aci.py:433
+msgid ""
+"comma-separated list of permissions to grant(read, write, add, delete, all)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:439 ipalib/plugins/delegation.py:119
+#: ipalib/plugins/permission.py:124 ipalib/plugins/selfservice.py:92
+msgid "Attributes"
+msgstr ""
+
+#: ipalib/plugins/aci.py:440 ipalib/plugins/delegation.py:120
+#: ipalib/plugins/permission.py:125 ipalib/plugins/selfservice.py:93
+msgid "Comma-separated list of attributes"
+msgstr ""
+
+#: ipalib/plugins/aci.py:444 ipalib/plugins/internal.py:164
+#: ipalib/plugins/permission.py:131
+msgid "Type"
+msgstr ""
+
+#: ipalib/plugins/aci.py:445
+msgid "type of IPA object (user, group, host, hostgroup, service, netgroup)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:450
+msgid "Member of"
+msgstr ""
+
+#: ipalib/plugins/aci.py:451
+msgid "Member of a group"
+msgstr ""
+
+#: ipalib/plugins/aci.py:455 ipalib/plugins/internal.py:234
+#: ipalib/plugins/permission.py:144
+msgid "Filter"
+msgstr ""
+
+#: ipalib/plugins/aci.py:456 ipalib/plugins/permission.py:145
+msgid "Legal LDAP filter (e.g. ou=Engineering)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:460 ipalib/plugins/permission.py:150
+msgid "Subtree"
+msgstr ""
+
+#: ipalib/plugins/aci.py:461
+msgid "Subtree to apply ACI to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:465 ipalib/plugins/permission.py:156
+msgid "Target group"
+msgstr ""
+
+#: ipalib/plugins/aci.py:466
+msgid "Group to apply ACI to"
+msgstr ""
+
+#: ipalib/plugins/aci.py:470
+msgid "Target your own entry (self)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:471
+msgid "Apply ACI to your own entry (self)"
+msgstr ""
+
+#: ipalib/plugins/aci.py:478
+msgid ""
+"\n"
+" Create new ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:482
+msgid "Created ACI \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/aci.py:487
+msgid "Test the ACI syntax but don't write anything"
+msgstr ""
+
+#: ipalib/plugins/aci.py:493
+msgid ""
+"\n"
+" Execute the aci-create operation.\n"
+"\n"
+" Returns the entry as it will be created in LDAP.\n"
+"\n"
+" :param aciname: The name of the ACI being added.\n"
+" :param kw: Keyword arguments for the other LDAP attributes.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:533
+msgid ""
+"\n"
+" Delete ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:538
+msgid "Deleted ACI \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/aci.py:543
+msgid ""
+"\n"
+" Execute the aci-delete operation.\n"
+"\n"
+" :param aciname: The name of the ACI being added.\n"
+" :param kw: unused\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:576
+msgid ""
+"\n"
+" Modify ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:582 ipalib/plugins/aci.py:830
+#: ipalib/plugins/aci.py:871 ipalib/plugins/delegation.py:255
+#: ipalib/plugins/selfservice.py:212
+msgid "ACI"
+msgstr ""
+
+#: ipalib/plugins/aci.py:588
+msgid "Modified ACI \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/aci.py:633
+msgid ""
+"\n"
+" Search for ACIs.\n"
+"\n"
+" Returns a list of ACIs\n"
+"\n"
+" EXAMPLES:\n"
+"\n"
+" To find all ACIs that apply directly to members of the group ipausers:\n"
+" ipa aci-find --memberof=ipausers\n"
+"\n"
+" To find all ACIs that grant add access:\n"
+" ipa aci-find --permissions=add\n"
+"\n"
+" Note that the find command only looks for the given text in the set of\n"
+" ACIs, it does not evaluate the ACIs to see if something would apply.\n"
+" For example, searching on memberof=ipausers will find all ACIs that\n"
+" have ipausers as a memberof. There may be other ACIs that apply to\n"
+" members of that group indirectly.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:653
+msgid "%(count)d ACI matched"
+msgid_plural "%(count)d ACIs matched"
+msgstr[0] ""
+
+#: ipalib/plugins/aci.py:823
+msgid ""
+"\n"
+" Display a single ACI given an ACI name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:837
+msgid ""
+"\n"
+" Execute the aci-show operation.\n"
+"\n"
+" Returns the entry\n"
+"\n"
+" :param uid: The login name of the user to retrieve.\n"
+" :param kw: unused\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:865
+msgid ""
+"\n"
+" Rename an ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/aci.py:878
+msgid "New ACI name"
+msgstr ""
+
+#: ipalib/plugins/aci.py:882
+msgid "Renamed ACI to \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/automount.py:20
+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"
+"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"
+" 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/automount.py:182
+msgid ""
+"\n"
+" Location container for automount maps.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:190
+msgid "Automount Locations"
+msgstr ""
+
+#: ipalib/plugins/automount.py:196 ipalib/plugins/host.py:247
+msgid "Location"
+msgstr ""
+
+#: ipalib/plugins/automount.py:197
+msgid "Automount location name."
+msgstr ""
+
+#: ipalib/plugins/automount.py:206
+msgid ""
+"\n"
+" Create a new automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:221
+msgid ""
+"\n"
+" Delete an automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:229
+msgid ""
+"\n"
+" Display an automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:237
+msgid ""
+"\n"
+" Search for an automount location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:245
+msgid ""
+"\n"
+" Generate automount files for a specific location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:308
+msgid ""
+"\n"
+" Import automount files for a specific location.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:314
+msgid "Master file"
+msgstr ""
+
+#: ipalib/plugins/automount.py:315
+msgid "Automount master file."
+msgstr ""
+
+#: ipalib/plugins/automount.py:322
+msgid ""
+"Continuous operation mode. Errors are reported but the process continues."
+msgstr ""
+
+#: ipalib/plugins/automount.py:334
+msgid "File %(file)s not found"
+msgstr ""
+
+#: ipalib/plugins/automount.py:341
+msgid ""
+"\n"
+" The basic idea is to read the master file and create all the maps\n"
+" we need, then read each map file and add all the keys for the map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:492
+msgid ""
+"\n"
+" Automount map object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:505
+msgid "Map"
+msgstr ""
+
+#: ipalib/plugins/automount.py:506
+msgid "Automount map name."
+msgstr ""
+
+#: ipalib/plugins/automount.py:511 ipalib/plugins/group.py:114
+#: ipalib/plugins/hbacrule.py:171 ipalib/plugins/hbacsvc.py:73
+#: ipalib/plugins/hbacsvcgroup.py:75 ipalib/plugins/host.py:237
+#: ipalib/plugins/hostgroup.py:85 ipalib/plugins/netgroup.py:109
+#: ipalib/plugins/privilege.py:76 ipalib/plugins/role.py:92
+#: ipalib/plugins/sudocmd.py:74 ipalib/plugins/sudocmdgroup.py:76
+#: ipalib/plugins/sudorule.py:78
+msgid "Description"
+msgstr ""
+
+#: ipalib/plugins/automount.py:515
+msgid "Automount Maps"
+msgstr ""
+
+#: ipalib/plugins/automount.py:521
+msgid ""
+"\n"
+" Create a new automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:529
+msgid ""
+"\n"
+" Delete an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:548
+msgid ""
+"\n"
+" Modify an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:556
+msgid ""
+"\n"
+" Search for an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:564
+msgid ""
+"\n"
+" Display an automount map.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:572
+msgid ""
+"\n"
+" Automount key object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:589 ipalib/plugins/automount.py:778
+#: ipalib/plugins/automount.py:850
+msgid "Key"
+msgstr ""
+
+#: ipalib/plugins/automount.py:590 ipalib/plugins/automount.py:779
+#: ipalib/plugins/automount.py:851
+msgid "Automount key name."
+msgstr ""
+
+#: ipalib/plugins/automount.py:594 ipalib/plugins/automount.py:783
+#: ipalib/plugins/automount.py:855
+msgid "Mount information"
+msgstr ""
+
+#: ipalib/plugins/automount.py:597
+msgid "description"
+msgstr ""
+
+#: ipalib/plugins/automount.py:606
+msgid "Automount Keys"
+msgstr ""
+
+#: ipalib/plugins/automount.py:607
+msgid ""
+"The key,info pair must be unique. A key named %(key)s with info %(info)s "
+"already exists"
+msgstr ""
+
+#: ipalib/plugins/automount.py:608
+msgid "key named %(key)s already exists"
+msgstr ""
+
+#: ipalib/plugins/automount.py:609
+msgid "The automount key %(key)s with info %(info)s does not exist"
+msgstr ""
+
+#: ipalib/plugins/automount.py:659
+msgid ""
+"More than one entry with key %(key)s found, use --info to select specific "
+"entry."
+msgstr ""
+
+#: ipalib/plugins/automount.py:717
+msgid ""
+"\n"
+" Create a new automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:742
+msgid ""
+"\n"
+" Create a new indirect mount point.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:748
+msgid "Mount point"
+msgstr ""
+
+#: ipalib/plugins/automount.py:752
+msgid "Parent map"
+msgstr ""
+
+#: ipalib/plugins/automount.py:753
+msgid "Name of parent automount map (default: auto.master)."
+msgstr ""
+
+#: ipalib/plugins/automount.py:772
+msgid ""
+"\n"
+" Delete an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:803
+msgid ""
+"\n"
+" Modify an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:809
+msgid "New mount information"
+msgstr ""
+
+#: ipalib/plugins/automount.py:836
+msgid ""
+"\n"
+" Search for an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/automount.py:844
+msgid ""
+"\n"
+" Display an automount key.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:19
+msgid ""
+"\n"
+"Base classes for LDAP plugins.\n"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:39
+msgid "Failed members"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:42
+msgid "Member users"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:45
+msgid "Member groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:48
+msgid "Member of groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:51
+msgid "Member hosts"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:54
+msgid "Member host-groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:57
+msgid "Member of host-groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:66
+msgid "Roles"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:69 ipalib/plugins/sudocmdgroup.py:65
+#: ipalib/plugins/sudocmdgroup.py:84 ipalib/plugins/sudorule.py:139
+#: ipalib/plugins/sudorule.py:143
+msgid "Sudo Command Groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:75
+msgid "Granting privilege to roles"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:78
+msgid "Member netgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:81
+msgid "Member of netgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:84
+msgid "Member services"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:87
+msgid "Member service groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:93
+msgid "Member HBAC service groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:102
+msgid "Indirect Member users"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:105
+msgid "Indirect Member groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:108
+msgid "Indirect Member hosts"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:111
+msgid "Indirect Member host-groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:114
+msgid "Indirect Member of roles"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:117
+msgid "Indirect Member permissions"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:120
+msgid "Indirect Member HBAC service"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:123
+msgid "Indirect Member HBAC service group"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:126
+msgid "Indirect Member netgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:141
+msgid "External host"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:144
+msgid "Failed hosts/hostgroups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:147
+msgid "Failed users/groups"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:150
+msgid "Failed managedby"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:153
+msgid "Failed to remove"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:171
+msgid ""
+"\n"
+" Given a list of values in the form name=value, return a list of name.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:197
+msgid ""
+"\n"
+" When adding or removing reverse members we are faking an update to\n"
+" object A by updating the member attribute in object B. The memberof\n"
+" plugin makes this work by adding or removing the memberof attribute\n"
+" to/from object A, it just takes a little bit of time.\n"
+"\n"
+" This will loop for 6+ seconds, retrieving object A so we can see\n"
+" if all the memberof attributes have been updated.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:241
+msgid ""
+"\n"
+" Object representing a LDAP entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:281
+msgid "Entry"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:283
+msgid "container entry (%(container)s) not found"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:284
+msgid "%(parent)s: %(oname)s not found"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:285
+msgid "%(pkey)s: %(oname)s not found"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:286
+msgid "%(oname)s with name \"%(pkey)s\" already exists"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:415
+msgid ""
+"Add an attribute/value pair. Format is attr=value. The attribute must be "
+"part of the schema."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:420
+msgid ""
+"Set an attribute to a name/value pair. Format is attr=value.\n"
+"For multi-valued attributes, the command replaces the values already present."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:444
+msgid ""
+"\n"
+" If the set of objectclasses is limited enforce that only those\n"
+" are updated in entry_attrs (plus dn)\n"
+"\n"
+" allow_only tells us what mode to check in:\n"
+"\n"
+" If True then we enforce that the attributes must be in the list of\n"
+" allowed.\n"
+"\n"
+" If False then those attributes are not allowed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:474
+msgid ""
+"\n"
+" Callback registration interface\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:561
+msgid ""
+"\n"
+" Create a new entry in LDAP.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:703
+msgid ""
+"\n"
+" Base class for commands that need to retrieve an existing entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:727
+msgid ""
+"\n"
+" Base class for commands that need to retrieve one or more existing entries.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:733
+msgid "Continuous mode: Don't stop on errors."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:750
+msgid ""
+"\n"
+" Retrieve an LDAP entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:758 ipalib/plugins/baseldap.py:827
+#: ipalib/plugins/internal.py:232
+msgid "Rights"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:759 ipalib/plugins/baseldap.py:828
+msgid ""
+"Display the access rights of this entry (requires --all). See ipa man page "
+"for details."
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:821
+msgid ""
+"\n"
+" Update an LDAP entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:837
+msgid "Rename"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:838
+msgid "Rename the %(ldap_obj_name)s object"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:957
+msgid "the entry was deleted while being modified"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:988
+msgid ""
+"\n"
+" Delete an LDAP entry and all of its direct subentries.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1078
+msgid ""
+"\n"
+" Base class for member manipulation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1120
+msgid ""
+"\n"
+" Add other LDAP entries to members.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1131 ipalib/plugins/baseldap.py:1592
+#: ipalib/plugins/privilege.py:165 ipalib/plugins/privilege.py:191
+#: ipalib/plugins/role.py:179 ipalib/plugins/role.py:203
+msgid "Members that could not be added"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1135 ipalib/plugins/baseldap.py:1596
+msgid "Number of members added"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1226
+msgid ""
+"\n"
+" Remove LDAP entries from members.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1236 ipalib/plugins/baseldap.py:1705
+msgid "Members that could not be removed"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1240 ipalib/plugins/baseldap.py:1709
+msgid "Number of members removed"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1335
+msgid ""
+"\n"
+" Retrieve all LDAP entries matching the given criteria.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1344
+msgid "Time Limit"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1345
+msgid "Time limit of search in seconds"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1351
+msgid "Size Limit"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1352
+msgid "Maximum number of entries returned"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1552
+msgid ""
+"\n"
+" Base class for reverse member manipulation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1574
+msgid ""
+"\n"
+" Add other LDAP entries to members in reverse.\n"
+"\n"
+" The call looks like \"add A to B\" but in fact executes\n"
+" add B to A to handle reverse membership.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1654
+msgid "added"
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1687
+msgid ""
+"\n"
+" Remove other LDAP entries from members in reverse.\n"
+"\n"
+" The call looks like \"remove A from B\" but in fact executes\n"
+" remove B from A to handle reverse membership.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/baseldap.py:1767
+msgid "removed"
+msgstr ""
+
+#: ipalib/plugins/batch.py:21
+msgid ""
+"\n"
+"Plugin to make multiple ipa calls via one remote procedure call\n"
+"\n"
+"To run this code in the lite-server\n"
+"\n"
+"curl -H \"Content-Type:application/json\" -H \"Accept:application/json\" -H \"Accept-Language:en\" --negotiate -u : --cacert /etc/ipa/ca.crt -d @batch_request.json -X POST http://localhost:8888/ipa/json\n"
+"\n"
+"where the contents of the file batch_request.json follow the below example\n"
+"\n"
+"{\"method\":\"batch\",\"params\":[[\n"
+" {\"method\":\"group_find\",\"params\":[[],{}]},\n"
+" {\"method\":\"user_find\",\"params\":[[],{\"whoami\":\"true\",\"all\":\"true\"}]},\n"
+" {\"method\":\"user_show\",\"params\":[[\"admin\"],{\"all\":true}]}\n"
+" ],{}],\"id\":1}\n"
+"\n"
+"The format of the response is nested the same way. At the top you will see\n"
+" \"error\": null,\n"
+" \"id\": 1,\n"
+" \"result\": {\n"
+" \"count\": 3,\n"
+" \"results\": [\n"
+"\n"
+"\n"
+"And then a nested response for each IPA command method sent in the request\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/batch.py:61
+msgid "Nested Methods to execute"
+msgstr ""
+
+#: ipalib/plugins/batch.py:68 ipalib/frontend.py:861
+msgid "Client version. Used to determine if server will accept request."
+msgstr ""
+
+#: ipalib/plugins/cert.py:22
+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"
+"If using the selfsign back end then the subject in the CSR needs to match\n"
+"the subject configured in the server. The dogtag CA uses just the CN\n"
+"value of the CSR and forces the rest of the subject.\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"
+"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"
+"IPA currently immediately issues (or declines) all certificate requests so\n"
+"the status of a request is not normally useful. This is for future use\n"
+"or the case where a CA does not immediately issue a certificate.\n"
+"\n"
+"The following revocation reasons are supported:\n"
+"\n"
+" * 0 - unspecified\n"
+" * 1 - keyCompromise\n"
+" * 2 - cACompromise\n"
+" * 3 - affiliationChanged\n"
+" * 4 - superseded\n"
+" * 5 - cessationOfOperation\n"
+" * 6 - certificateHold\n"
+" * 8 - removeFromCRL\n"
+" * 9 - privilegeWithdrawn\n"
+" * 10 - aACompromise\n"
+"\n"
+"Note that reason code 7 is not used. See RFC 5280 for more details:\n"
+"\n"
+"http://www.ietf.org/rfc/rfc5280.txt\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/cert.py:104
+msgid ""
+"\n"
+" Return the value of CN in the subject of the request or None\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:112
+msgid "Failure decoding Certificate Signing Request:"
+msgstr ""
+
+#: ipalib/plugins/cert.py:115
+msgid ""
+"\n"
+" Return the first value of the subject alt name, if any\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:125 ipalib/plugins/cert.py:137
+msgid "Failure decoding Certificate Signing Request"
+msgstr ""
+
+#: ipalib/plugins/cert.py:128
+msgid ""
+"\n"
+" Ensure the CSR is base64-encoded and can be decoded by our PKCS#10\n"
+" parser.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:139
+msgid "Failure decoding Certificate Signing Request: %s"
+msgstr ""
+
+#: ipalib/plugins/cert.py:142
+msgid ""
+"\n"
+" Strip any leading and trailing cruft around the BEGIN/END block\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:162
+msgid ""
+"\n"
+" Convert a SN given in decimal or hexadecimal.\n"
+" Returns the number or None if conversion fails.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:188
+msgid ""
+"\n"
+" Given a principal with or without a realm return the\n"
+" host portion.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:202
+msgid ""
+"\n"
+" Submit a certificate signing request.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:216 ipalib/plugins/service.py:225
+msgid "Principal"
+msgstr ""
+
+#: ipalib/plugins/cert.py:217
+msgid "Service principal for this certificate (e.g. HTTP/test.example.com)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:224
+msgid "automatically add the principal if it doesn't exist"
+msgstr ""
+
+#: ipalib/plugins/cert.py:232 ipalib/plugins/cert.py:439
+#: ipalib/plugins/entitle.py:173 ipalib/plugins/host.py:276
+#: ipalib/plugins/service.py:232
+msgid "Certificate"
+msgstr ""
+
+#: ipalib/plugins/cert.py:236 ipalib/plugins/cert.py:442
+#: ipalib/plugins/host.py:159 ipalib/plugins/service.py:93
+msgid "Subject"
+msgstr ""
+
+#: ipalib/plugins/cert.py:240 ipalib/plugins/cert.py:445
+#: ipalib/plugins/host.py:165 ipalib/plugins/service.py:99
+msgid "Issuer"
+msgstr ""
+
+#: ipalib/plugins/cert.py:244 ipalib/plugins/cert.py:448
+#: ipalib/plugins/host.py:168 ipalib/plugins/service.py:102
+msgid "Not Before"
+msgstr ""
+
+#: ipalib/plugins/cert.py:248 ipalib/plugins/cert.py:451
+#: ipalib/plugins/host.py:171 ipalib/plugins/service.py:105
+msgid "Not After"
+msgstr ""
+
+#: ipalib/plugins/cert.py:252 ipalib/plugins/cert.py:454
+#: ipalib/plugins/host.py:174 ipalib/plugins/service.py:108
+msgid "Fingerprint (MD5)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:256 ipalib/plugins/cert.py:457
+#: ipalib/plugins/host.py:177 ipalib/plugins/service.py:111
+msgid "Fingerprint (SHA1)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:260 ipalib/plugins/cert.py:425
+msgid "Serial number"
+msgstr ""
+
+#: ipalib/plugins/cert.py:268 ipalib/plugins/entitle.py:230
+#: ipalib/plugins/entitle.py:588 ipalib/plugins/misc.py:57
+msgid "Dictionary mapping variable name to value"
+msgstr ""
+
+#: ipalib/plugins/cert.py:396
+msgid ""
+"\n"
+" Check the status of a certificate signing request.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:402
+msgid "Request id"
+msgstr ""
+
+#: ipalib/plugins/cert.py:408
+msgid "Request status"
+msgstr ""
+
+#: ipalib/plugins/cert.py:426
+msgid "Serial number in decimal or if prefixed with 0x in hexadecimal"
+msgstr ""
+
+#: ipalib/plugins/cert.py:431
+msgid ""
+"\n"
+" Retrieve an existing certificate.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:460 ipalib/plugins/host.py:180
+#: ipalib/plugins/service.py:114
+msgid "Revocation reason"
+msgstr ""
+
+#: ipalib/plugins/cert.py:466
+msgid "Output filename"
+msgstr ""
+
+#: ipalib/plugins/cert.py:467
+msgid "File to store the certificate in."
+msgstr ""
+
+#: ipalib/plugins/cert.py:518
+msgid ""
+"\n"
+" Revoke a certificate.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:526
+msgid "Revoked"
+msgstr ""
+
+#: ipalib/plugins/cert.py:534
+msgid "Reason"
+msgstr ""
+
+#: ipalib/plugins/cert.py:535
+msgid "Reason for revoking the certificate (0-10)"
+msgstr ""
+
+#: ipalib/plugins/cert.py:562
+msgid ""
+"\n"
+" Take a revoked certificate off hold.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/cert.py:570
+msgid "Unrevoked"
+msgstr ""
+
+#: ipalib/plugins/cert.py:573
+msgid "Error"
+msgstr ""
+
+#: ipalib/plugins/config.py:20
+msgid ""
+"\n"
+"Manage the IPA configuration\n"
+"\n"
+"Manage the default values that IPA uses and some of its tuning parameters.\n"
+"\n"
+" To show the current configuration:\n"
+" ipa config-show\n"
+"\n"
+" To modify the configuration:\n"
+" ipa config-mod --maxusername=99\n"
+"\n"
+"The available options are:\n"
+"\n"
+"User management options:\n"
+"\n"
+" --maxusername=INT Max. username length when creating/modifying a user\n"
+" --homedirectory=STR Default location of home directories (default /home)\n"
+" --defaultshell=STR Default shell for new users (default /bin/sh)\n"
+" --defaultgroup=STR Default group for new users (default ipausers). The\n"
+" group must exist, or adding new users will fail.\n"
+" --emaildomain=STR Default e-mail domain for new users\n"
+"\n"
+"Search tuning options. These impact how much data is searched through and\n"
+"how many records may be returned on a given search.\n"
+"\n"
+" --searchtimelimit=INT Max. amount of time (sec.) for a search (> 0, or -1 for\n"
+" unlimited)\n"
+" --searchrecordslimit=INT Max. number of records to search (-1 is unlimited)\n"
+"\n"
+"Server Configuration.\n"
+"\n"
+" --enable-migration=BOOL Enable migration mode\n"
+" --pwdexpnotify=INT Password Expiration Notification (days)\n"
+"\n"
+"The password notification value is stored here so it will be replicated.\n"
+"It is not currently used to notify users in advance of an expiring\n"
+"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"
+msgstr ""
+
+#: ipalib/plugins/config.py:76
+msgid "searchtimelimit must be -1 or > 1."
+msgstr ""
+
+#: ipalib/plugins/config.py:80
+msgid ""
+"\n"
+" IPA configuration object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/config.py:91 ipalib/plugins/internal.py:151
+msgid "Configuration"
+msgstr ""
+
+#: ipalib/plugins/config.py:96
+msgid "Max. username length"
+msgstr ""
+
+#: ipalib/plugins/config.py:101
+msgid "Home directory base"
+msgstr ""
+
+#: ipalib/plugins/config.py:102
+msgid "Default location of home directories."
+msgstr ""
+
+#: ipalib/plugins/config.py:106
+msgid "Default shell"
+msgstr ""
+
+#: ipalib/plugins/config.py:107
+msgid "Default shell for new users."
+msgstr ""
+
+#: ipalib/plugins/config.py:111
+msgid "Default users group"
+msgstr ""
+
+#: ipalib/plugins/config.py:112
+msgid "Default group for new users."
+msgstr ""
+
+#: ipalib/plugins/config.py:116
+msgid "Default e-mail domain for new users"
+msgstr ""
+
+#: ipalib/plugins/config.py:117
+msgid "Default e-mail domain new users."
+msgstr ""
+
+#: ipalib/plugins/config.py:121
+msgid "Search time limit"
+msgstr ""
+
+#: ipalib/plugins/config.py:122
+msgid "Max. amount of time (sec.) for a search (> 0, or -1 for unlimited)."
+msgstr ""
+
+#: ipalib/plugins/config.py:127
+msgid "Search size limit"
+msgstr ""
+
+#: ipalib/plugins/config.py:128
+msgid "Max. number of records to search (-1 is unlimited)."
+msgstr ""
+
+#: ipalib/plugins/config.py:133
+msgid "User search fields"
+msgstr ""
+
+#: ipalib/plugins/config.py:134
+msgid "A comma-separated list of fields to search when searching for users."
+msgstr ""
+
+#: ipalib/plugins/config.py:139
+msgid "A comma-separated list of fields to search when searching for groups."
+msgstr ""
+
+#: ipalib/plugins/config.py:143
+msgid "Migration mode"
+msgstr ""
+
+#: ipalib/plugins/config.py:144
+msgid "Enable migration mode."
+msgstr ""
+
+#: ipalib/plugins/config.py:148
+msgid "Certificate Subject base"
+msgstr ""
+
+#: ipalib/plugins/config.py:149
+msgid "Base for certificate subjects (OU=Test,O=Example)."
+msgstr ""
+
+#: ipalib/plugins/config.py:154
+msgid "Default group objectclasses"
+msgstr ""
+
+#: ipalib/plugins/config.py:155
+msgid "Default group objectclassses (comma-separated list)."
+msgstr ""
+
+#: ipalib/plugins/config.py:159
+msgid "Default user objectclasses"
+msgstr ""
+
+#: ipalib/plugins/config.py:160
+msgid "Default user objectclassses (comma-separated list)."
+msgstr ""
+
+#: ipalib/plugins/config.py:164
+msgid "Password Expiration Notification"
+msgstr ""
+
+#: ipalib/plugins/config.py:165
+msgid "Number of days's notice of impending password expiration."
+msgstr ""
+
+#: ipalib/plugins/config.py:170
+msgid "Password plugin features"
+msgstr ""
+
+#: ipalib/plugins/config.py:171
+msgid "Extra hashes to generate in password plug-in."
+msgstr ""
+
+#: ipalib/plugins/config.py:183
+msgid ""
+"\n"
+" Modify configuration options.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/config.py:220
+msgid ""
+"\n"
+" Show the current configuration.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:19
+msgid ""
+"\n"
+"Group to Group Delegation\n"
+"\n"
+"A permission enables fine-grained delegation of permissions. Access Control\n"
+"Rules, or instructions (ACIs), grant permission to permissions to perform\n"
+"given tasks such as adding a user, modifying a group, etc.\n"
+"\n"
+"Group to Group Delegations grants the members of one group to update a set\n"
+"of attributes of members of another group.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a delegation rule to allow editors to edit admin's addresses:\n"
+" ipa delegation-add --attrs=street --membergroup=admins --group=editors 'editors edit admins street'\n"
+"\n"
+" When managing the list of attributes you need to include all attributes\n"
+" in the list, including existing ones. Add postalCode to the list:\n"
+" ipa delegation-mod --attrs=street,postalCode --membergroup=admins --group=editors 'editors edit admins street'\n"
+"\n"
+" Display our updated rule:\n"
+" ipa delegation-show 'editors edit admins street'\n"
+"\n"
+" Delete a rule:\n"
+" ipa delegation-del 'editors edit admins street'\n"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:56
+msgid ""
+"\n"
+" memberOf is in filter but we want to pull out the group for easier\n"
+" displaying.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:63 ipalib/plugins/delegation.py:90
+msgid "Delegation '%(permission)s' not found"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:70
+msgid "Error retrieving member group %(group)s: %(error)s"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:79
+msgid ""
+"\n"
+" Determine if the ACI is a Delegation ACI and raise an exception if it\n"
+" isn't.\n"
+"\n"
+" Return the result if it is a delegation ACI, adding a new attribute\n"
+" membergroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:95
+msgid ""
+"\n"
+" Delegation object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:102
+msgid "Delegation"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:107 ipalib/plugins/delegation.py:108
+msgid "Delegation name"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:114 ipalib/plugins/selfservice.py:87
+msgid ""
+"Comma-separated list of permissions to grant (read, write). Default is "
+"write."
+msgstr ""
+
+#: ipalib/plugins/delegation.py:125
+msgid "Member user group"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:126
+msgid "User group to apply delegation to"
+msgstr ""
+
+#: ipalib/plugins/delegation.py:152
+msgid ""
+"\n"
+" Add a new delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:156
+msgid "Added delegation \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/delegation.py:176
+msgid ""
+"\n"
+" Delete a delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:181
+msgid "Deleted delegation \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/delegation.py:197
+msgid ""
+"\n"
+" Modify a delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:201
+msgid "Modified delegation \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/delegation.py:219
+msgid ""
+"\n"
+" Search for delegations.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/delegation.py:223
+msgid "%(count)d delegation matched"
+msgid_plural "%(count)d delegations matched"
+msgstr[0] ""
+
+#: ipalib/plugins/delegation.py:250
+msgid ""
+"\n"
+" Display information about a delegation.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:20
+msgid ""
+"\n"
+"Domain Name System (DNS)\n"
+"\n"
+"Manage DNS zone and resource records.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add new zone:\n"
+" ipa dnszone-add example.com --name-server nameserver.example.com\n"
+" --admin-email admin@example.com\n"
+"\n"
+" Add second nameserver for example.com:\n"
+" ipa dnsrecord-add example.com @ --ns-rec nameserver2.example.com\n"
+"\n"
+" Add a mail server for example.com:\n"
+" ipa dnsrecord-add example.com @ --mx-rec=\"10 mail2\"\n"
+"\n"
+" Delete previously added nameserver from example.com:\n"
+" ipa dnsrecord-del example.com @ --ns-rec nameserver2.example.com\n"
+"\n"
+" Add new A record for www.example.com: (random IP)\n"
+" ipa dnsrecord-add example.com www --a-rec 80.142.15.2\n"
+"\n"
+" Add new PTR record for www.example.com\n"
+" ipa dnsrecord-add 15.142.80.in-addr.arpa 2 --ptr-rec www.example.com.\n"
+"\n"
+" Add new SRV records for LDAP servers. Three quarters of the requests\n"
+" should go to fast.example.com, one quarter to slow.example.com. If neither\n"
+" is available, switch to backup.example.com.\n"
+" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 3 389 fast.example.com\"\n"
+" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 1 389 slow.example.com\"\n"
+" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"1 1 389 backup.example.com\"\n"
+"\n"
+" When dnsrecord-add command is executed with no option to add a specific record\n"
+" an interactive mode is started. The mode interactively prompts for the most\n"
+" typical record types for the respective zone:\n"
+" ipa dnsrecord-add example.com www\n"
+" [A record]: 1.2.3.4,11.22.33.44 (2 interactively entered random IPs)\n"
+" [AAAA record]: (no AAAA address entered)\n"
+" Record name: www\n"
+" A record: 1.2.3.4, 11.22.33.44\n"
+"\n"
+" The interactive mode can also be used for deleting the DNS records:\n"
+" ipa dnsrecord-del example.com www\n"
+" No option to delete specific record provided.\n"
+" Delete all? Yes/No (default No): (do not delete all records)\n"
+" Current DNS record contents:\n"
+"\n"
+" A record: 1.2.3.4, 11.22.33.44\n"
+"\n"
+" Delete A record '1.2.3.4'? Yes/No (default No): \n"
+" Delete A record '11.22.33.44'? Yes/No (default No): y\n"
+" Record name: www\n"
+" A record: 1.2.3.4 (A record 11.22.33.44 has been deleted)\n"
+"\n"
+" Show zone example.com:\n"
+" ipa dnszone-show example.com\n"
+"\n"
+" Find zone with \"example\" in its domain name:\n"
+" ipa dnszone-find example\n"
+"\n"
+" Find records for resources with \"www\" in their name in zone example.com:\n"
+" ipa dnsrecord-find example.com www\n"
+"\n"
+" Find A records with value 10.10.0.1 in zone example.com\n"
+" ipa dnsrecord-find example.com --a-rec 10.10.0.1\n"
+"\n"
+" Show records for resource www in zone example.com\n"
+" ipa dnsrecord-show example.com www\n"
+"\n"
+" Delete zone example.com with all resource records:\n"
+" ipa dnszone-del example.com\n"
+"\n"
+" Resolve a host name to see if it exists (will add default IPA domain\n"
+" if one is not included):\n"
+" ipa dns-resolve www.example.com\n"
+" ipa dns-resolve www\n"
+msgstr ""
+
+#: ipalib/plugins/dns.py:140
+msgid "Generate serial number for zones."
+msgstr ""
+
+#: ipalib/plugins/dns.py:189
+msgid "see RFC 2915 "
+msgstr ""
+
+#: ipalib/plugins/dns.py:249
+msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record"
+msgstr ""
+
+#: ipalib/plugins/dns.py:272
+msgid ""
+"\n"
+" DNS Zone, container for resource records.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:284
+msgid "DNS"
+msgstr ""
+
+#: ipalib/plugins/dns.py:289
+msgid "Zone name"
+msgstr ""
+
+#: ipalib/plugins/dns.py:290
+msgid "Zone name (FQDN)"
+msgstr ""
+
+#: ipalib/plugins/dns.py:296
+msgid "Authoritative nameserver"
+msgstr ""
+
+#: ipalib/plugins/dns.py:297
+msgid "Authoritative nameserver."
+msgstr ""
+
+#: ipalib/plugins/dns.py:301 ipalib/plugins/dns.py:302
+msgid "Administrator e-mail address"
+msgstr ""
+
+#: ipalib/plugins/dns.py:308
+msgid "SOA serial"
+msgstr ""
+
+#: ipalib/plugins/dns.py:309
+msgid "SOA record serial number"
+msgstr ""
+
+#: ipalib/plugins/dns.py:316
+msgid "SOA refresh"
+msgstr ""
+
+#: ipalib/plugins/dns.py:317
+msgid "SOA record refresh time"
+msgstr ""
+
+#: ipalib/plugins/dns.py:324
+msgid "SOA retry"
+msgstr ""
+
+#: ipalib/plugins/dns.py:325
+msgid "SOA record retry time"
+msgstr ""
+
+#: ipalib/plugins/dns.py:332
+msgid "SOA expire"
+msgstr ""
+
+#: ipalib/plugins/dns.py:333
+msgid "SOA record expire time"
+msgstr ""
+
+#: ipalib/plugins/dns.py:340
+msgid "SOA minimum"
+msgstr ""
+
+#: ipalib/plugins/dns.py:341
+msgid "How long should negative responses be cached"
+msgstr ""
+
+#: ipalib/plugins/dns.py:349
+msgid "SOA time to live"
+msgstr ""
+
+#: ipalib/plugins/dns.py:350
+msgid "SOA record time to live"
+msgstr ""
+
+#: ipalib/plugins/dns.py:354
+msgid "SOA class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:355
+msgid "SOA record class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:360 ipalib/plugins/dns.py:361
+msgid "BIND update policy"
+msgstr ""
+
+#: ipalib/plugins/dns.py:365
+msgid "Active zone"
+msgstr ""
+
+#: ipalib/plugins/dns.py:366
+msgid "Is zone active?"
+msgstr ""
+
+#: ipalib/plugins/dns.py:372
+msgid "Dynamic update"
+msgstr ""
+
+#: ipalib/plugins/dns.py:373
+msgid "Allow dynamic updates."
+msgstr ""
+
+#: ipalib/plugins/dns.py:382
+msgid ""
+"\n"
+" Create new DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:387 ipalib/plugins/dns.py:697
+#: ipalib/plugins/host.py:315 ipalib/plugins/service.py:250
+msgid "Force"
+msgstr ""
+
+#: ipalib/plugins/dns.py:388
+msgid "Force DNS zone creation even if nameserver not in DNS."
+msgstr ""
+
+#: ipalib/plugins/dns.py:391
+msgid "Add the nameserver to DNS with this IP address"
+msgstr ""
+
+#: ipalib/plugins/dns.py:397
+msgid "DNS is not configured"
+msgstr ""
+
+#: ipalib/plugins/dns.py:431
+msgid ""
+"\n"
+" Delete DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:439
+msgid ""
+"\n"
+" Modify DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:452
+msgid ""
+"\n"
+" Search for DNS zones (SOA records).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:460
+msgid ""
+"\n"
+" Display information about a DNS zone (SOA record).\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:468
+msgid ""
+"\n"
+" Disable DNS Zone.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:472
+msgid "Disabled DNS zone \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/dns.py:490
+msgid ""
+"\n"
+" Enable DNS Zone.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:494
+msgid "Enabled DNS zone \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/dns.py:512
+msgid ""
+"\n"
+" DNS record.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:522
+msgid "DNS resource record"
+msgstr ""
+
+#: ipalib/plugins/dns.py:527 ipalib/plugins/dns.py:528
+msgid "Record name"
+msgstr ""
+
+#: ipalib/plugins/dns.py:533 ipalib/plugins/dns.py:534
+msgid "Time to live"
+msgstr ""
+
+#: ipalib/plugins/dns.py:538
+msgid "Class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:539
+msgid "DNS class"
+msgstr ""
+
+#: ipalib/plugins/dns.py:566
+msgid ""
+"\n"
+" Base class for DNS record commands with record options.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:610
+msgid ""
+"\n"
+" Base class for adding/removing records from DNS resource entries.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:674
+msgid ""
+"\n"
+" Add records to DNS resource.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:690
+msgid ""
+"\n"
+" Add new DNS resource record.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:699
+msgid "force NS record creation even if its hostname is not in DNS"
+msgstr ""
+
+#: ipalib/plugins/dns.py:735
+msgid ""
+"Reverse zone for PTR record should be a sub-zone of one the following fully "
+"qualified domains: %s"
+msgstr ""
+
+#: ipalib/plugins/dns.py:740
+msgid "Reverse zone %s requires exactly %d IP address components, %d given"
+msgstr ""
+
+#: ipalib/plugins/dns.py:746
+msgid "PTR record '%s' is not fully qualified (check traling '.')"
+msgstr ""
+
+#: ipalib/plugins/dns.py:789
+msgid ""
+"\n"
+" Delete DNS record entry.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:792
+msgid "Deleted record \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/dns.py:799
+msgid ""
+"\n"
+" Delete DNS resource record.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:802
+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:807
+msgid "Delete all associated records"
+msgstr ""
+
+#: ipalib/plugins/dns.py:834
+msgid "No option to delete specific record provided."
+msgstr ""
+
+#: ipalib/plugins/dns.py:835
+msgid "Delete all?"
+msgstr ""
+
+#: ipalib/plugins/dns.py:845
+msgid "Current DNS record contents:\n"
+msgstr ""
+
+#: ipalib/plugins/dns.py:875
+msgid "%s record with value %s not found"
+msgstr ""
+
+#: ipalib/plugins/dns.py:889
+msgid ""
+"\n"
+" Display DNS resource.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:905
+msgid ""
+"\n"
+" Search for DNS resources.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:932
+msgid ""
+"\n"
+" Resolve a host name in DNS\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/dns.py:936
+msgid "Found '%(value)s'"
+msgstr ""
+
+#: ipalib/plugins/dns.py:940
+msgid "Hostname"
+msgstr ""
+
+#: ipalib/plugins/dns.py:962
+msgid "Host '%(host)s' not found"
+msgstr ""
+
+#: ipalib/plugins/dns.py:970
+msgid ""
+"\n"
+" Checks if any of the servers has the DNS service enabled.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:19
+msgid ""
+"\n"
+"Entitlements\n"
+"\n"
+"Manage entitlements for client machines\n"
+"\n"
+"Entitlements can be managed either by registering with an entitlement\n"
+"server with a username and password or by manually importing entitlement\n"
+"certificates. An entitlement certificate contains embedded information\n"
+"such as the product being entitled, the quantity and the validity dates.\n"
+"\n"
+"An entitlement server manages the number of client entitlements available.\n"
+"To mark these entitlements as used by the IPA server you provide a quantity\n"
+"and they are marked as consumed on the entitlement server.\n"
+"\n"
+" Register with an entitlement server:\n"
+" ipa entitle-register consumer\n"
+"\n"
+" Import an entitlement certificate:\n"
+" ipa entitle-import /home/user/ipaclient.pem\n"
+"\n"
+" Display current entitlements:\n"
+" ipa entitle-status\n"
+"\n"
+" Retrieve details on entitlement certificates:\n"
+" ipa entitle-get\n"
+"\n"
+" Consume some entitlements from the entitlement server:\n"
+" ipa entitle-consume 50\n"
+"\n"
+"The registration ID is a Unique Identifier (UUID). This ID will be\n"
+"IMPORTED if you have used entitle-import.\n"
+"\n"
+"Changes to /etc/rhsm/rhsm.conf require a restart of the httpd service.\n"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:106
+msgid ""
+"\n"
+" Get our entitlement pool. Assume there is only one pool.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:129
+msgid ""
+"\n"
+" Retrieve our UUID, certificate and key from LDAP.\n"
+"\n"
+" Except on error the caller is responsible for removing temporary files\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:178
+msgid ""
+"\n"
+" Entitlement object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:189
+msgid "Entitlements"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:206
+msgid ""
+"\n"
+" Display current entitlements\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:214 ipalib/plugins/entitle.py:602
+msgid "UUID"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:217 ipalib/plugins/entitle.py:306
+#: ipalib/plugins/entitle.py:388 ipalib/plugins/entitle.py:575
+#: ipalib/plugins/entitle.py:690
+msgid "Product"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:220 ipalib/plugins/entitle.py:286
+#: ipalib/plugins/entitle.py:296 ipalib/plugins/entitle.py:391
+#: ipalib/plugins/entitle.py:578 ipalib/plugins/entitle.py:680
+msgid "Quantity"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:223 ipalib/plugins/entitle.py:309
+#: ipalib/plugins/entitle.py:581 ipalib/plugins/entitle.py:693
+msgid "Consumed"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:276
+msgid ""
+"\n"
+" Consume an entitlement\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:282
+msgid "Consumed %(value)s entitlement(s)."
+msgstr ""
+
+#: ipalib/plugins/entitle.py:314
+msgid ""
+"\n"
+" Override this so we can set value to the number of entitlements\n"
+" consumed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:362 ipalib/plugins/entitle.py:724
+msgid ""
+"\n"
+" Returning the certificates isn't very interesting. Return the\n"
+" status of entitlements instead.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:380
+msgid ""
+"\n"
+" Retrieve the entitlement certs\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:394
+msgid "Start"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:397
+msgid "End"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:400 ipalib/plugins/host.py:162
+#: ipalib/plugins/internal.py:132 ipalib/plugins/service.py:96
+msgid "Serial Number"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:435 ipalib/plugins/entitle.py:626
+#: ipalib/plugins/entitle.py:628
+msgid "Not an entitlement certificate"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:460
+msgid ""
+"\n"
+" Search for entitlement accounts.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:473
+msgid ""
+"\n"
+" Register to the entitlement system\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:479
+msgid "Registered to entitlement server."
+msgstr ""
+
+#: ipalib/plugins/entitle.py:483
+msgid "Username"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:490 ipalib/plugins/entitle.py:603
+msgid "Enrollment UUID"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:494 ipalib/plugins/migration.py:271
+#: ipalib/plugins/passwd.py:59 ipalib/plugins/user.py:172
+msgid "Password"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:495
+msgid "Registration password"
+msgstr ""
+
+#: ipalib/plugins/entitle.py:569
+msgid ""
+"\n"
+" Import an entitlement certificate.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:646
+msgid ""
+"\n"
+" If we are adding the first entry there are no updates so EmptyModlist\n"
+" will get thrown. Ignore it.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:667
+msgid ""
+"\n"
+" Re-sync the local entitlement cache with the entitlement server\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/entitle.py:673
+msgid "Entitlement(s) synchronized."
+msgstr ""
+
+#: ipalib/plugins/group.py:20
+msgid ""
+"\n"
+"Groups of users\n"
+"\n"
+"Manage groups of users. By default, new groups are POSIX groups. You\n"
+"can add the --nonposix option to the group-add command to mark a new group\n"
+"as non-POSIX, and you can use the same argument to the group-mod command\n"
+"to convert a non-POSIX group to a POSIX group. POSIX groups cannot be\n"
+"converted to non-POSIX groups.\n"
+"\n"
+"Every group must have a description.\n"
+"\n"
+"POSIX groups must have a Group ID (GID) number. Changing a GID is\n"
+"supported but can have an impact on your file permissions. It is not necessary\n"
+"to supply a GID when creating a group. IPA will generate one automatically\n"
+"if it is not provided.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new group:\n"
+" ipa group-add --desc='local administrators' localadmins\n"
+"\n"
+" Add a new non-POSIX group:\n"
+" ipa group-add --nonposix --desc='remote administrators' remoteadmins\n"
+"\n"
+" Convert a non-POSIX group to posix:\n"
+" ipa group-mod --posix remoteadmins\n"
+"\n"
+" Add a new POSIX group with a specific Group ID number:\n"
+" ipa group-add --gid=500 --desc='unix admins' unixadmins\n"
+"\n"
+" Add a new POSIX group and let IPA assign a Group ID number:\n"
+" ipa group-add --desc='printer admins' printeradmins\n"
+"\n"
+" Remove a group:\n"
+" ipa group-del unixadmins\n"
+"\n"
+" To add the \"remoteadmins\" group to the \"localadmins\" group:\n"
+" ipa group-add-member --groups=remoteadmins localadmins\n"
+"\n"
+" Add a list of users to the \"localadmins\" group:\n"
+" ipa group-add-member --users=test1,test2 localadmins\n"
+"\n"
+" Remove a user from the \"localadmins\" group:\n"
+" ipa group-remove-member --users=test2 localadmins\n"
+"\n"
+" Display information about a named group.\n"
+" ipa group-show localadmins\n"
+msgstr ""
+
+#: ipalib/plugins/group.py:76
+msgid ""
+"\n"
+" Group object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:100
+msgid "User Groups"
+msgstr ""
+
+#: ipalib/plugins/group.py:108
+msgid "Group name"
+msgstr ""
+
+#: ipalib/plugins/group.py:115 ipalib/plugins/sudocmdgroup.py:77
+msgid "Group description"
+msgstr ""
+
+#: ipalib/plugins/group.py:119 ipalib/plugins/user.py:187
+msgid "GID"
+msgstr ""
+
+#: ipalib/plugins/group.py:120
+msgid "GID (use this option to set it manually)"
+msgstr ""
+
+#: ipalib/plugins/group.py:128
+msgid ""
+"\n"
+" Create a new group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:132
+msgid "Added group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:137
+msgid "Create as a non-POSIX group"
+msgstr ""
+
+#: ipalib/plugins/group.py:154
+msgid ""
+"\n"
+" Delete group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:158
+msgid "Deleted group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:186
+msgid ""
+"\n"
+" Modify a group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:189
+msgid "Modified group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:194
+msgid "change to a POSIX group"
+msgstr ""
+
+#: ipalib/plugins/group.py:215
+msgid ""
+"\n"
+" Search for groups.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:220
+msgid "%(count)d group matched"
+msgid_plural "%(count)d groups matched"
+msgstr[0] ""
+
+#: ipalib/plugins/group.py:227 ipalib/plugins/netgroup.py:192
+msgid "search for private groups"
+msgstr ""
+
+#: ipalib/plugins/group.py:257
+msgid ""
+"\n"
+" Display information about a named group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:265
+msgid ""
+"\n"
+" Add members to a group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:273
+msgid ""
+"\n"
+" Remove members from a group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:281
+msgid ""
+"\n"
+" Detach a managed group from a user\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:285
+msgid "Detached group \"%(value)s\" from user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/group.py:288
+msgid ""
+"\n"
+" This requires updating both the user and the group. We first need to\n"
+" verify that both the user and group can be updated, then we go\n"
+" about our work. We don't want a situation where only the user or\n"
+" group can be modified and we're left in a bad state.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/group.py:306
+msgid "not allowed to modify user entries"
+msgstr ""
+
+#: ipalib/plugins/group.py:312
+msgid "not allowed to modify group entries"
+msgstr ""
+
+#: ipalib/plugins/group.py:331
+msgid "Not a managed group"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:19
+msgid ""
+"\n"
+"Host-based access control\n"
+"\n"
+"Control who can access what services on what hosts and from where. You\n"
+"can use HBAC to control which users or groups on a source host can\n"
+"access a service, or group of services, on a target host.\n"
+"\n"
+"You can also specify a category of users, target hosts, and source\n"
+"hosts. This is currently limited to \"all\", but might be expanded in the\n"
+"future.\n"
+"\n"
+"Target hosts and source hosts in HBAC rules must be hosts managed by IPA.\n"
+"\n"
+"The available services and groups of services are controlled by the\n"
+"hbacsvc and hbacsvcgroup plug-ins respectively.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Create a rule, \"test1\", that grants all users access to the host \"server\" from\n"
+" anywhere:\n"
+" ipa hbacrule-add --type=allow --usercat=all --srchostcat=all test1\n"
+" ipa hbacrule-add-host --hosts=server.example.com test1\n"
+"\n"
+" Display the properties of a named HBAC rule:\n"
+" ipa hbacrule-show test1\n"
+"\n"
+" Create a rule for a specific service. This lets the user john access\n"
+" the sshd service on any machine from any machine:\n"
+" ipa hbacrule-add --type=allow --hostcat=all --srchostcat=all john_sshd\n"
+" ipa hbacrule-add-user --users=john john_sshd\n"
+" ipa hbacrule-add-service --hbacsvcs=sshd john_sshd\n"
+"\n"
+" Create a rule for a new service group. This lets the user john access\n"
+" the FTP service on any machine from any machine:\n"
+" ipa hbacsvcgroup-add ftpers\n"
+" ipa hbacsvc-add sftp\n"
+" ipa hbacsvcgroup-add-member --hbacsvcs=ftp,sftp ftpers\n"
+" ipa hbacrule-add --type=allow --hostcat=all --srchostcat=all john_ftp\n"
+" ipa hbacrule-add-user --users=john john_ftp\n"
+" ipa hbacrule-add-service --hbacsvcgroups=ftpers john_ftp\n"
+"\n"
+" Disable a named HBAC rule:\n"
+" ipa hbacrule-disable test1\n"
+"\n"
+" Remove a named HBAC rule:\n"
+" ipa hbacrule-del allow_server\n"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:91
+msgid ""
+"\n"
+" See if options[attribute] is lower-case 'all' in a safe way.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:103
+msgid ""
+"\n"
+" HBAC object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:126
+msgid "HBAC Rule"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:131 ipalib/plugins/sudorule.py:73
+msgid "Rule name"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:136
+msgid "Rule type (allow or deny)"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:137
+msgid "Rule type"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:143 ipalib/plugins/netgroup.py:124
+#: ipalib/plugins/sudorule.py:86
+msgid "User category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:144 ipalib/plugins/netgroup.py:125
+#: ipalib/plugins/sudorule.py:87
+msgid "User category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:149 ipalib/plugins/netgroup.py:130
+#: ipalib/plugins/sudorule.py:92
+msgid "Host category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:150 ipalib/plugins/netgroup.py:131
+#: ipalib/plugins/sudorule.py:93
+msgid "Host category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:155
+msgid "Source host category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:156
+msgid "Source host category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:161
+msgid "Service category"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:162
+msgid "Service category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:174 ipalib/plugins/sudorule.py:81
+msgid "Enabled"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:178 ipalib/plugins/sudorule.py:115
+#: ipalib/plugins/user.py:108
+msgid "Users"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:182 ipalib/plugins/internal.py:272
+#: ipalib/plugins/sudorule.py:119
+msgid "Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:186 ipalib/plugins/host.py:226
+#: ipalib/plugins/sudorule.py:123
+msgid "Hosts"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:190 ipalib/plugins/hostgroup.py:73
+#: ipalib/plugins/sudorule.py:127
+msgid "Host Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:194
+msgid "Source hosts"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:198
+msgid "Source host groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:202 ipalib/plugins/internal.py:196
+#: ipalib/plugins/service.py:220
+msgid "Services"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:206
+msgid "Service Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:215
+msgid ""
+"\n"
+" Create a new HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:219
+msgid "Added HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:230
+msgid ""
+"\n"
+" Delete an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:234
+msgid "Deleted HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:240
+msgid ""
+"\n"
+" Modify an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:244
+msgid "Modified HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:266
+msgid ""
+"\n"
+" Search for HBAC rules.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:270
+msgid "%(count)d HBAC rule matched"
+msgid_plural "%(count)d HBAC rules matched"
+msgstr[0] ""
+
+#: ipalib/plugins/hbacrule.py:278
+msgid ""
+"\n"
+" Display the properties of an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:286
+msgid ""
+"\n"
+" Enable an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:290
+msgid "Enabled HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:315
+msgid ""
+"\n"
+" Disable an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:319
+msgid "Disabled HBAC rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:344
+msgid ""
+"\n"
+" Add an access time to an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:351 ipalib/plugins/hbacrule.py:391
+msgid "Access time"
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:385
+msgid ""
+"\n"
+" Remove access time to HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:425
+msgid ""
+"\n"
+" Add users and groups to an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:442
+msgid ""
+"\n"
+" Remove users and groups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:452
+msgid ""
+"\n"
+" Add target hosts and hostgroups to an HBAC rule\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:469
+msgid ""
+"\n"
+" Remove target hosts and hostgroups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:479
+msgid ""
+"\n"
+" Add source hosts and hostgroups from a HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:496
+msgid ""
+"\n"
+" Remove source hosts and hostgroups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:506
+msgid ""
+"\n"
+" Add services to an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacrule.py:523
+msgid ""
+"\n"
+" Remove service and service groups from an HBAC rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:19
+msgid ""
+"\n"
+"HBAC Services\n"
+"\n"
+"The PAM services that HBAC can control access to. The name used here\n"
+"must match the service name that PAM is evaluating.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new HBAC service:\n"
+" ipa hbacsvc-add tftp\n"
+"\n"
+" Modify an existing HBAC service:\n"
+" ipa hbacsvc-mod --desc=\"TFTP service\" tftp\n"
+"\n"
+" Search for HBAC services. This example will return two results, the FTP\n"
+" service and the newly-added tftp service:\n"
+" ipa hbacsvc-find ftp\n"
+"\n"
+" Delete an HBAC service:\n"
+" ipa hbacsvc-del tftp\n"
+"\n"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:51
+msgid ""
+"\n"
+" HBAC Service object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:61
+msgid "HBAC Services"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:66
+msgid "Service name"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:67
+msgid "HBAC service"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:74
+msgid "HBAC service description"
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:82
+msgid ""
+"\n"
+" Add a new HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:85
+msgid "Added HBAC service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:91
+msgid ""
+"\n"
+" Delete an existing HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:94
+msgid "Deleted HBAC service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:100
+msgid ""
+"\n"
+" Modify an HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:104
+msgid "Modified HBAC service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:110
+msgid ""
+"\n"
+" Search for HBAC services.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvc.py:114
+msgid "%(count)d HBAC service matched"
+msgid_plural "%(count)d HBAC services matched"
+msgstr[0] ""
+
+#: ipalib/plugins/hbacsvc.py:122
+msgid ""
+"\n"
+" Display information about an HBAC service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:19
+msgid ""
+"\n"
+"HBAC Service Groups\n"
+"\n"
+"HBAC service groups can contain any number of individual services,\n"
+"or \"members\". Every group must have a description.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new HBAC service group:\n"
+" ipa hbacsvcgroup-add --desc=\"login services\" login\n"
+"\n"
+" Add members to an HBAC service group:\n"
+" ipa hbacsvcgroup-add-member --hbacsvcs=sshd,login login\n"
+"\n"
+" Display information about a named group:\n"
+" ipa hbacsvcgroup-show login\n"
+"\n"
+" Add a new group to the \"login\" group:\n"
+" ipa hbacsvcgroup-add --desc=\"switch users\" login\n"
+" ipa hbacsvcgroup-add-member --hbacsvcs=su,su-l login\n"
+"\n"
+" Delete an HBAC service group:\n"
+" ipa hbacsvcgroup-del login\n"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:51
+msgid ""
+"\n"
+" HBAC service group object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:64
+msgid "HBAC service Groups"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:69
+msgid "Service group name"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:76
+msgid "HBAC service group description"
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:84
+msgid ""
+"\n"
+" Add a new HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:87
+msgid "Added HBAC service group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:93
+msgid ""
+"\n"
+" Delete an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:96
+msgid "Deleted HBAC service group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:102
+msgid ""
+"\n"
+" Modify an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:105
+msgid "Modified HBAC service group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:111
+msgid ""
+"\n"
+" Search for an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:114
+msgid "%(count)d HBAC service group matched"
+msgid_plural "%(count)d HBAC service groups matched"
+msgstr[0] ""
+
+#: ipalib/plugins/hbacsvcgroup.py:122
+msgid ""
+"\n"
+" Display information about an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:130
+msgid ""
+"\n"
+" Add members to an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hbacsvcgroup.py:138
+msgid ""
+"\n"
+" Remove members from an HBAC service group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:20
+msgid ""
+"\n"
+"Hosts/Machines\n"
+"\n"
+"A host represents a machine. It can be used in a number of contexts:\n"
+"- service entries are associated with a host\n"
+"- a host stores the host/ service principal\n"
+"- a host can be used in Host-based Access Control (HBAC) rules\n"
+"- every enrolled client generates a host entry\n"
+"\n"
+"ENROLLMENT:\n"
+"\n"
+"There are three enrollment scenarios when enrolling a new client:\n"
+"\n"
+"1. You are enrolling as a full administrator. The host entry may exist\n"
+" or not. A full administrator is a member of the hostadmin role\n"
+" or the admins group.\n"
+"2. You are enrolling as a limited administrator. The host must already\n"
+" exist. A limited administrator is a member a role with the\n"
+" Host Enrollment privilege.\n"
+"3. The host has been created with a one-time password.\n"
+"\n"
+"A host can only be enrolled once. If a client has enrolled and needs to\n"
+"be re-enrolled, the host entry must be removed and re-created. Note that\n"
+"re-creating the host entry will result in all services for the host being\n"
+"removed, and all SSL certificates associated with those services being\n"
+"revoked.\n"
+"\n"
+"A host can optionally store information such as where it is located,\n"
+"the OS that it runs, etc.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new host:\n"
+" ipa host-add --location=\"3rd floor lab\" --locality=Dallas test.example.com\n"
+"\n"
+" Delete a host:\n"
+" ipa host-del test.example.com\n"
+"\n"
+" Add a new host with a one-time password:\n"
+" ipa host-add --os='Fedora 12' --password=Secret123 test.example.com\n"
+"\n"
+" Add a new host with a random one-time password:\n"
+" ipa host-add --os='Fedora 12' --random test.example.com\n"
+"\n"
+" Modify information about a host:\n"
+" ipa host-mod --os='Fedora 12' test.example.com\n"
+"\n"
+" Disable the host Kerberos key, SSL certificate and all of its services:\n"
+" ipa host-disable test.example.com\n"
+"\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:97
+msgid ""
+"\n"
+" Require at least one dot in the hostname (to support localhost.localdomain)\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:101
+msgid "Fully-qualified hostname required"
+msgstr ""
+
+#: ipalib/plugins/host.py:129
+msgid "DNS reverse zone for IP address %(addr)s not found"
+msgstr ""
+
+#: ipalib/plugins/host.py:153 ipalib/plugins/service.py:87
+msgid "Keytab"
+msgstr ""
+
+#: ipalib/plugins/host.py:185
+msgid ""
+"\n"
+" Verify that we have either an IPv4 or IPv6 address.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:189
+msgid "invalid IP address"
+msgstr ""
+
+#: ipalib/plugins/host.py:194
+msgid ""
+"\n"
+" Host object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:231
+msgid "Host name"
+msgstr ""
+
+#: ipalib/plugins/host.py:238
+msgid "A description of this host"
+msgstr ""
+
+#: ipalib/plugins/host.py:242
+msgid "Locality"
+msgstr ""
+
+#: ipalib/plugins/host.py:243
+msgid "Host locality (e.g. \"Baltimore, MD\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:248
+msgid "Host location (e.g. \"Lab 2\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:252
+msgid "Platform"
+msgstr ""
+
+#: ipalib/plugins/host.py:253
+msgid "Host hardware platform (e.g. \"Lenovo T61\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:257
+msgid "Operating system"
+msgstr ""
+
+#: ipalib/plugins/host.py:258
+msgid "Host operating system and version (e.g. \"Fedora 9\")"
+msgstr ""
+
+#: ipalib/plugins/host.py:262
+msgid "User password"
+msgstr ""
+
+#: ipalib/plugins/host.py:263
+msgid "Password used in bulk enrollment"
+msgstr ""
+
+#: ipalib/plugins/host.py:266
+msgid "Generate a random password to be used in bulk enrollment"
+msgstr ""
+
+#: ipalib/plugins/host.py:271
+msgid "Random password"
+msgstr ""
+
+#: ipalib/plugins/host.py:277 ipalib/plugins/service.py:233
+msgid "Base-64 encoded server certificate"
+msgstr ""
+
+#: ipalib/plugins/host.py:280 ipalib/plugins/host.py:548
+msgid "Principal name"
+msgstr ""
+
+#: ipalib/plugins/host.py:306
+msgid ""
+"\n"
+" Add a new host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:311
+msgid "Added host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:316
+msgid "force host name even if not in DNS"
+msgstr ""
+
+#: ipalib/plugins/host.py:319
+msgid "skip reverse DNS detection"
+msgstr ""
+
+#: ipalib/plugins/host.py:322
+msgid "Add the host to DNS with this IP address"
+msgstr ""
+
+#: ipalib/plugins/host.py:338 ipalib/plugins/host.py:477
+msgid "DNS zone %(zone)s not found"
+msgstr ""
+
+#: ipalib/plugins/host.py:413
+msgid "The host was added but the DNS update failed with: %(exc)s"
+msgstr ""
+
+#: ipalib/plugins/host.py:422
+msgid ""
+"\n"
+" Delete a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:426
+msgid "Deleted host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:431
+msgid "Remove entries from DNS"
+msgstr ""
+
+#: ipalib/plugins/host.py:537
+msgid ""
+"\n"
+" Modify information about a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:542
+msgid "Modified host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:549
+msgid "Kerberos principal name for this host"
+msgstr ""
+
+#: ipalib/plugins/host.py:618
+msgid ""
+"\n"
+" Search for hosts.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:623
+msgid "%(count)d host matched"
+msgid_plural "%(count)d hosts matched"
+msgstr[0] ""
+
+#: ipalib/plugins/host.py:643
+msgid ""
+"\n"
+" Display information about a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:649 ipalib/plugins/service.py:400
+msgid "file to store certificate in"
+msgstr ""
+
+#: ipalib/plugins/host.py:673 ipalib/plugins/service.py:422
+msgid "Certificate stored in file '%(file)s'"
+msgstr ""
+
+#: ipalib/plugins/host.py:684
+msgid ""
+"\n"
+" Disable the Kerberos key, SSL certificate and all services of a host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:688
+msgid "Disabled host \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/host.py:770
+msgid ""
+"\n"
+" Add hosts that can manage this host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/host.py:781
+msgid ""
+"\n"
+" Remove hosts that can manage this host.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:20
+msgid ""
+"\n"
+"Groups of hosts.\n"
+"\n"
+"Manage groups of hosts. This is useful for applying access control to a\n"
+"number of hosts by using Host-based Access Control.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new host group:\n"
+" ipa hostgroup-add --desc=\"Baltimore hosts\" baltimore\n"
+"\n"
+" Add another new host group:\n"
+" ipa hostgroup-add --desc=\"Maryland hosts\" maryland\n"
+"\n"
+" Add members to the hostgroup:\n"
+" ipa hostgroup-add-member --hosts=box1,box2,box3 baltimore\n"
+"\n"
+" Add a hostgroup as a member of another hostgroup:\n"
+" ipa hostgroup-add-member --hostgroups=baltimore maryland\n"
+"\n"
+" Remove a host from the hostgroup:\n"
+" ipa hostgroup-remove-member --hosts=box2 baltimore\n"
+"\n"
+" Display a host group:\n"
+" ipa hostgroup-show baltimore\n"
+"\n"
+" Delete a hostgroup:\n"
+" ipa hostgroup-del baltimore\n"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:55
+msgid ""
+"\n"
+" Hostgroup object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:78
+msgid "Host-group"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:79
+msgid "Name of host-group"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:86
+msgid "A description of this host-group"
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:94
+msgid ""
+"\n"
+" Add a new hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:98
+msgid "Added hostgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:104
+msgid ""
+"\n"
+" Delete a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:108
+msgid "Deleted hostgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:114
+msgid ""
+"\n"
+" Modify a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:118
+msgid "Modified hostgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:124
+msgid ""
+"\n"
+" Search for hostgroups.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:128
+msgid "%(count)d hostgroup matched"
+msgid_plural "%(count)d hostgroups matched"
+msgstr[0] ""
+
+#: ipalib/plugins/hostgroup.py:136
+msgid ""
+"\n"
+" Display information about a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:144
+msgid ""
+"\n"
+" Add members to a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/hostgroup.py:152
+msgid ""
+"\n"
+" Remove members from a hostgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/internal.py:22
+msgid ""
+"\n"
+"Plugins not accessible directly through the CLI, commands used internally\n"
+msgstr ""
+
+#: ipalib/plugins/internal.py:36
+msgid ""
+"\n"
+" Export plugin meta-data for the webUI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/internal.py:44
+msgid "Name of object to export"
+msgstr ""
+
+#: ipalib/plugins/internal.py:47
+msgid "Name of method to export"
+msgstr ""
+
+#: ipalib/plugins/internal.py:52
+msgid "Dict of JSON encoded IPA Objects"
+msgstr ""
+
+#: ipalib/plugins/internal.py:53
+msgid "Dict of JSON encoded IPA Methods"
+msgstr ""
+
+#: ipalib/plugins/internal.py:96
+msgid "Logged In As"
+msgstr ""
+
+#: ipalib/plugins/internal.py:99
+msgid "Attribute"
+msgstr ""
+
+#: ipalib/plugins/internal.py:102
+msgid "Add Automount Location"
+msgstr ""
+
+#: ipalib/plugins/internal.py:103
+msgid "Automount Location Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:106
+msgid "Add Automount Map"
+msgstr ""
+
+#: ipalib/plugins/internal.py:109
+msgid "Add Automount Key"
+msgstr ""
+
+#: ipalib/plugins/internal.py:112
+msgid "Unspecified"
+msgstr ""
+
+#: ipalib/plugins/internal.py:113
+msgid "Key Compromise"
+msgstr ""
+
+#: ipalib/plugins/internal.py:114
+msgid "CA Compromise"
+msgstr ""
+
+#: ipalib/plugins/internal.py:115
+msgid "Affiliation Changed"
+msgstr ""
+
+#: ipalib/plugins/internal.py:116
+msgid "Superseded"
+msgstr ""
+
+#: ipalib/plugins/internal.py:117
+msgid "Cessation of Operation"
+msgstr ""
+
+#: ipalib/plugins/internal.py:118
+msgid "Certificate Hold"
+msgstr ""
+
+#: ipalib/plugins/internal.py:119
+msgid "Remove from CRL"
+msgstr ""
+
+#: ipalib/plugins/internal.py:120
+msgid "Privilege Withdrawn"
+msgstr ""
+
+#: ipalib/plugins/internal.py:121
+msgid "AA Compromise"
+msgstr ""
+
+#: ipalib/plugins/internal.py:122
+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:124
+msgid "Note"
+msgstr ""
+
+#: ipalib/plugins/internal.py:125
+msgid "Reason for Revocation"
+msgstr ""
+
+#: ipalib/plugins/internal.py:126
+msgid ""
+"To confirm your intention to restore this certificate, click the \"Restore\""
+" button."
+msgstr ""
+
+#: ipalib/plugins/internal.py:128
+msgid "Issued To"
+msgstr ""
+
+#: ipalib/plugins/internal.py:129
+msgid "Common Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:130
+msgid "Organization"
+msgstr ""
+
+#: ipalib/plugins/internal.py:131
+msgid "Organizational Unit"
+msgstr ""
+
+#: ipalib/plugins/internal.py:133
+msgid "Issued By"
+msgstr ""
+
+#: ipalib/plugins/internal.py:134
+msgid "Validity"
+msgstr ""
+
+#: ipalib/plugins/internal.py:135
+msgid "Issued On"
+msgstr ""
+
+#: ipalib/plugins/internal.py:136
+msgid "Expires On"
+msgstr ""
+
+#: ipalib/plugins/internal.py:137
+msgid "Fingerprints"
+msgstr ""
+
+#: ipalib/plugins/internal.py:138
+msgid "SHA1 Fingerprint"
+msgstr ""
+
+#: ipalib/plugins/internal.py:139
+msgid "MD5 Fingerprint"
+msgstr ""
+
+#: ipalib/plugins/internal.py:140
+msgid "Enter the Base64-encoded CSR below"
+msgstr ""
+
+#: ipalib/plugins/internal.py:141
+msgid "Valid Certificate Present"
+msgstr ""
+
+#: ipalib/plugins/internal.py:142
+msgid "New Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:143
+msgid "Certificate Revoked"
+msgstr ""
+
+#: ipalib/plugins/internal.py:144
+msgid "No Valid Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:145
+msgid "Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:146
+msgid "Issue New Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:147
+msgid "Revoke Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:148
+msgid "Restore Certificate for ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:152
+msgid "Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:155
+msgid "Add Delegation"
+msgstr ""
+
+#: ipalib/plugins/internal.py:158
+msgid "Add DNS Zone"
+msgstr ""
+
+#: ipalib/plugins/internal.py:159
+msgid "DNS Zone Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:162
+msgid "Add DNS Resource Record"
+msgstr ""
+
+#: ipalib/plugins/internal.py:163
+msgid "Resource"
+msgstr ""
+
+#: ipalib/plugins/internal.py:165
+msgid "Data"
+msgstr ""
+
+#: ipalib/plugins/internal.py:166
+msgid "Records for DNS Zone"
+msgstr ""
+
+#: ipalib/plugins/internal.py:169
+msgid "Add Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:170
+msgid "Group Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:171 ipalib/plugins/internal.py:206
+msgid "Is this a POSIX group?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:174
+msgid "Add HBAC Rule"
+msgstr ""
+
+#: ipalib/plugins/internal.py:175 ipalib/plugins/internal.py:280
+#: ipalib/plugins/internal.py:306
+msgid "Active"
+msgstr ""
+
+#: ipalib/plugins/internal.py:176 ipalib/plugins/internal.py:282
+msgid "Allow"
+msgstr ""
+
+#: ipalib/plugins/internal.py:177 ipalib/plugins/internal.py:283
+msgid "Deny"
+msgstr ""
+
+#: ipalib/plugins/internal.py:178 ipalib/plugins/internal.py:281
+#: ipalib/plugins/internal.py:308
+msgid "Inactive"
+msgstr ""
+
+#: ipalib/plugins/internal.py:179 ipalib/plugins/internal.py:296
+msgid "Rule status"
+msgstr ""
+
+#: ipalib/plugins/internal.py:180 ipalib/plugins/internal.py:284
+msgid "Who"
+msgstr ""
+
+#: ipalib/plugins/internal.py:181 ipalib/plugins/internal.py:285
+msgid "Anyone"
+msgstr ""
+
+#: ipalib/plugins/internal.py:182 ipalib/plugins/internal.py:286
+msgid "Specified Users and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:183
+msgid "Accessing"
+msgstr ""
+
+#: ipalib/plugins/internal.py:184 ipalib/plugins/internal.py:288
+msgid "Any Host"
+msgstr ""
+
+#: ipalib/plugins/internal.py:185 ipalib/plugins/internal.py:289
+msgid "Specified Hosts and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:186
+msgid "Via Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:187
+msgid "Any Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:188
+msgid "Specified Services and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:189
+msgid "From"
+msgstr ""
+
+#: ipalib/plugins/internal.py:192
+msgid "Add HBAC Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:195
+msgid "Add HBAC Service Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:199
+msgid "Add Host"
+msgstr ""
+
+#: ipalib/plugins/internal.py:200
+msgid "Host Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:201 ipalib/plugins/internal.py:259
+msgid "Host Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:202
+msgid "Host Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:203
+msgid "Enrolled?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:204
+msgid "Enrollment"
+msgstr ""
+
+#: ipalib/plugins/internal.py:205
+msgid "Fully Qualified Host Name"
+msgstr ""
+
+#: ipalib/plugins/internal.py:207 ipalib/plugins/internal.py:262
+msgid "Status"
+msgstr ""
+
+#: ipalib/plugins/internal.py:208
+msgid "Kerberos Key Present, Host Provisioned"
+msgstr ""
+
+#: ipalib/plugins/internal.py:209 ipalib/plugins/internal.py:264
+msgid "Delete Key, Unprovision"
+msgstr ""
+
+#: ipalib/plugins/internal.py:210 ipalib/plugins/internal.py:265
+msgid "Kerberos Key Not Present"
+msgstr ""
+
+#: ipalib/plugins/internal.py:211
+msgid "Enroll via One-Time-Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:212
+msgid "Set OTP"
+msgstr ""
+
+#: ipalib/plugins/internal.py:213
+msgid "One-Time-Password has been set."
+msgstr ""
+
+#: ipalib/plugins/internal.py:214 ipalib/plugins/internal.py:266
+msgid "Unprovisioning ${entity}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:215
+msgid "Are you sure you want to unprovision this host?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:216 ipalib/plugins/internal.py:268
+msgid "Unprovision"
+msgstr ""
+
+#: ipalib/plugins/internal.py:219
+msgid "Add Host Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:220
+msgid "Host Group Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:223
+msgid "Kerberos ticket policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:226
+msgid "Add Netgroup"
+msgstr ""
+
+#: ipalib/plugins/internal.py:227
+msgid "Netgroup Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:230
+msgid "Add Permission"
+msgstr ""
+
+#: ipalib/plugins/internal.py:231 ipalib/plugins/internal.py:376
+msgid "Identity"
+msgstr ""
+
+#: ipalib/plugins/internal.py:233
+msgid "Target"
+msgstr ""
+
+#: ipalib/plugins/internal.py:235
+msgid "By Subtree"
+msgstr ""
+
+#: ipalib/plugins/internal.py:236
+msgid "Target Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:237
+msgid "Object By Type"
+msgstr ""
+
+#: ipalib/plugins/internal.py:238
+msgid "Permission with invalid target specification"
+msgstr ""
+
+#: ipalib/plugins/internal.py:241
+msgid "Add Privilege"
+msgstr ""
+
+#: ipalib/plugins/internal.py:242
+msgid "Privilege Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:245
+msgid "Add Password Policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:246 ipalib/plugins/pwpolicy.py:219
+msgid "Password Policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:249
+msgid "Add Role"
+msgstr ""
+
+#: ipalib/plugins/internal.py:250
+msgid "Role Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:253
+msgid "Add Self Service Definition"
+msgstr ""
+
+#: ipalib/plugins/internal.py:256
+msgid "Add Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:257
+msgid "Service Certificate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:258
+msgid "Service Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:260
+msgid "Provisioning"
+msgstr ""
+
+#: ipalib/plugins/internal.py:261
+msgid "Service"
+msgstr ""
+
+#: ipalib/plugins/internal.py:263
+msgid "Kerberos Key Present, Service Provisioned"
+msgstr ""
+
+#: ipalib/plugins/internal.py:267
+msgid "Are you sure you want to unprovision this service?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:271
+msgid "Add Sudo Command"
+msgstr ""
+
+#: ipalib/plugins/internal.py:275
+msgid "Add Sudo Command Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:276 ipalib/plugins/sudocmdgroup.py:80
+msgid "Commands"
+msgstr ""
+
+#: ipalib/plugins/internal.py:279
+msgid "Add Sudo Rule"
+msgstr ""
+
+#: ipalib/plugins/internal.py:287
+msgid "Access this host"
+msgstr ""
+
+#: ipalib/plugins/internal.py:290
+msgid "Run Commands"
+msgstr ""
+
+#: ipalib/plugins/internal.py:291
+msgid "Any Command"
+msgstr ""
+
+#: ipalib/plugins/internal.py:292
+msgid "Specified Commands and Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:293
+msgid "As Whom"
+msgstr ""
+
+#: ipalib/plugins/internal.py:294
+msgid "Any Group"
+msgstr ""
+
+#: ipalib/plugins/internal.py:295
+msgid "Specified Groups"
+msgstr ""
+
+#: ipalib/plugins/internal.py:297
+msgid "External"
+msgstr ""
+
+#: ipalib/plugins/internal.py:300
+msgid "Add User"
+msgstr ""
+
+#: ipalib/plugins/internal.py:301
+msgid "Account Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:302
+msgid "Contact Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:303
+msgid "Mailing Address"
+msgstr ""
+
+#: ipalib/plugins/internal.py:304
+msgid "Employee Information"
+msgstr ""
+
+#: ipalib/plugins/internal.py:305
+msgid "Misc. Information"
+msgstr ""
+
+#: ipalib/plugins/internal.py:307
+msgid "Click to Deactivate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:309
+msgid "Click to Activate"
+msgstr ""
+
+#: ipalib/plugins/internal.py:310
+msgid "Error changing account status"
+msgstr ""
+
+#: ipalib/plugins/internal.py:311
+msgid "Reset Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:312
+msgid "New Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:313
+msgid "Repeat Password"
+msgstr ""
+
+#: ipalib/plugins/internal.py:314
+msgid "Password change complete"
+msgstr ""
+
+#: ipalib/plugins/internal.py:315
+msgid "Passwords must match"
+msgstr ""
+
+#: ipalib/plugins/internal.py:319
+msgid "Add"
+msgstr ""
+
+#: ipalib/plugins/internal.py:320
+msgid "Add and Add Another"
+msgstr ""
+
+#: ipalib/plugins/internal.py:321
+msgid "Add and Edit"
+msgstr ""
+
+#: ipalib/plugins/internal.py:322
+msgid "Add and Close"
+msgstr ""
+
+#: ipalib/plugins/internal.py:323
+msgid "Add Many"
+msgstr ""
+
+#: ipalib/plugins/internal.py:324
+msgid "Back to List"
+msgstr ""
+
+#: ipalib/plugins/internal.py:325
+msgid "Cancel"
+msgstr ""
+
+#: ipalib/plugins/internal.py:326
+msgid "Close"
+msgstr ""
+
+#: ipalib/plugins/internal.py:327
+msgid "Enroll"
+msgstr ""
+
+#: ipalib/plugins/internal.py:328
+msgid "Find"
+msgstr ""
+
+#: ipalib/plugins/internal.py:329
+msgid "Get"
+msgstr ""
+
+#: ipalib/plugins/internal.py:330
+msgid "Issue"
+msgstr ""
+
+#: ipalib/plugins/internal.py:331
+msgid "OK"
+msgstr ""
+
+#: ipalib/plugins/internal.py:332
+msgid "Reset"
+msgstr ""
+
+#: ipalib/plugins/internal.py:333
+msgid "Delete"
+msgstr ""
+
+#: ipalib/plugins/internal.py:334
+msgid "Restore"
+msgstr ""
+
+#: ipalib/plugins/internal.py:335
+msgid "Retry"
+msgstr ""
+
+#: ipalib/plugins/internal.py:336
+msgid "Revoke"
+msgstr ""
+
+#: ipalib/plugins/internal.py:337
+msgid "Update"
+msgstr ""
+
+#: ipalib/plugins/internal.py:338
+msgid "View"
+msgstr ""
+
+#: ipalib/plugins/internal.py:341
+msgid "Available"
+msgstr ""
+
+#: ipalib/plugins/internal.py:342
+msgid "This page has unsaved changes. Please save or revert."
+msgstr ""
+
+#: ipalib/plugins/internal.py:343
+msgid "Dirty"
+msgstr ""
+
+#: ipalib/plugins/internal.py:344
+msgid "Hide already enrolled."
+msgstr ""
+
+#: ipalib/plugins/internal.py:345
+msgid "Select ${entity} to be removed."
+msgstr ""
+
+#: ipalib/plugins/internal.py:346
+msgid "Remove ${entity}."
+msgstr ""
+
+#: ipalib/plugins/internal.py:347
+msgid "Prospective"
+msgstr ""
+
+#: ipalib/plugins/internal.py:350
+msgid "Managed by"
+msgstr ""
+
+#: ipalib/plugins/internal.py:351
+msgid "Member"
+msgstr ""
+
+#: ipalib/plugins/internal.py:352
+msgid "Indirect Member"
+msgstr ""
+
+#: ipalib/plugins/internal.py:353
+msgid "Member Of"
+msgstr ""
+
+#: ipalib/plugins/internal.py:354
+msgid "Indirect Member Of"
+msgstr ""
+
+#: ipalib/plugins/internal.py:355 ipalib/plugins/internal.py:359
+msgid "Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:358
+msgid "Search"
+msgstr ""
+
+#: ipalib/plugins/internal.py:362
+msgid "Quick Links"
+msgstr ""
+
+#: ipalib/plugins/internal.py:363
+msgid "Select All"
+msgstr ""
+
+#: ipalib/plugins/internal.py:364
+msgid "Unselect All"
+msgstr ""
+
+#: ipalib/plugins/internal.py:365
+msgid "Are you sure you want to delete selected entries?"
+msgstr ""
+
+#: ipalib/plugins/internal.py:366
+msgid ""
+"Query returned more results than the configured size limit. Displaying the "
+"first ${counter} results."
+msgstr ""
+
+#: ipalib/plugins/internal.py:370
+msgid "General"
+msgstr ""
+
+#: ipalib/plugins/internal.py:371
+msgid "Identity Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:372
+msgid "${entity} ${primary_key} Settings"
+msgstr ""
+
+#: ipalib/plugins/internal.py:373
+msgid "Back to Top"
+msgstr ""
+
+#: ipalib/plugins/internal.py:377
+msgid "Policy"
+msgstr ""
+
+#: ipalib/plugins/internal.py:378
+msgid "Audit"
+msgstr ""
+
+#: ipalib/plugins/internal.py:379
+msgid "IPA Server"
+msgstr ""
+
+#: ipalib/plugins/internal.py:380
+msgid "Sudo"
+msgstr ""
+
+#: ipalib/plugins/internal.py:381
+msgid "Host Based Access Control"
+msgstr ""
+
+#: ipalib/plugins/internal.py:382
+msgid "Role Based Access Control"
+msgstr ""
+
+#: ipalib/plugins/internal.py:383
+msgid "Automount"
+msgstr ""
+
+#: ipalib/plugins/internal.py:386
+msgid "Add ${other_entity} into ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:387
+msgid "${other_entity} enrolled in ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:388
+msgid "${entity} ${primary_key} is enrolled in the following ${other_entity}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:389
+msgid "Remove ${other_entity} from ${entity} ${primary_key}"
+msgstr ""
+
+#: ipalib/plugins/internal.py:392
+msgid "Text does not match field pattern"
+msgstr ""
+
+#: ipalib/plugins/internal.py:395
+msgid ""
+"Your Kerberos ticket is no longer valid. Please run kinit and then click "
+"'Retry'. If this is your first time running the IPA Web UI <a "
+"href='/ipa/config/unauthorized.html'>follow these directions</a> to "
+"configure your browser."
+msgstr ""
+
+#: ipalib/plugins/internal.py:399
+msgid "Dict of I18N messages"
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:20
+msgid ""
+"\n"
+"Backend plugin for Kerberos.\n"
+"\n"
+"This wraps the python-kerberos and python-krbV bindings.\n"
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:35
+msgid ""
+"\n"
+" Kerberos backend plugin.\n"
+"\n"
+" This wraps the `krbV` bindings (and will eventually wrap the `kerberos`\n"
+" bindings also). Importantly, this plugin does correct Unicode\n"
+" encoding/decoding of values going-to/coming-from the bindings.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:44
+msgid ""
+"\n"
+" Return the ``krbV.CCache`` for the default credential cache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:50
+msgid ""
+"\n"
+" Return the ``krb5.Principal`` for the default credential cache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:56
+msgid ""
+"\n"
+" Return the ``krbV.CCache`` for the ``ccname`` credential ccache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:62
+msgid ""
+"\n"
+" Return the ``krb5.Principal`` for the ``ccname`` credential ccache.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:68
+msgid ""
+"\n"
+" Return the default ccache file name.\n"
+"\n"
+" This will return something like '/tmp/krb5cc_500'.\n"
+"\n"
+" This cannot return anything meaningful if used in the server as a\n"
+" request is processed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:79
+msgid ""
+"\n"
+" Return the principal name in default credential cache.\n"
+"\n"
+" This will return something like 'admin@EXAMPLE.COM'. If no credential\n"
+" cache exists for the invoking user, None is returned.\n"
+"\n"
+" This cannot return anything meaningful if used in the server as a\n"
+" request is processed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:91
+msgid ""
+"\n"
+" Return the realm from the default credential cache.\n"
+"\n"
+" This will return something like 'EXAMPLE.COM'. If no credential cache\n"
+" exists for the invoking user, None is returned.\n"
+"\n"
+" This cannot return anything meaningful if used in the server as a\n"
+" request is processed.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:103
+msgid ""
+"\n"
+" Return the principal from credential cache file at ``ccname``.\n"
+"\n"
+" This will return something like 'admin@EXAMPLE.COM'.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/kerberos.py:111
+msgid ""
+"\n"
+" Return the realm from credential cache file at ``ccname``.\n"
+"\n"
+" This will return something like 'EXAMPLE.COM'.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:19
+msgid ""
+"\n"
+"Kerberos ticket policy\n"
+"\n"
+"There is a single Kerberos ticket policy. This policy defines the\n"
+"maximum ticket lifetime and the maximum renewal age, the period during\n"
+"which the ticket is renewable.\n"
+"\n"
+"You can also create a per-user ticket policy by specifying the user login.\n"
+"\n"
+"For changes to the global policy to take effect, restarting the KDC service\n"
+"is required, which can be achieved using:\n"
+"\n"
+"service krb5kdc restart\n"
+"\n"
+"Changes to per-user policies take effect immediately for newly requested\n"
+"tickets (e.g. when the user next runs kinit).\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Display the current Kerberos ticket policy:\n"
+" ipa krbtpolicy-show\n"
+"\n"
+" Reset the policy to the default:\n"
+" ipa krbtpolicy-reset\n"
+"\n"
+" Modify the policy to 8 hours max life, 1-day max renewal:\n"
+" ipa krbtpolicy-mod --maxlife=28800 --maxrenew=86400\n"
+"\n"
+" Display effective Kerberos ticket policy for user 'admin':\n"
+" ipa krbtpolicy-show admin\n"
+"\n"
+" Reset per-user policy for user 'admin':\n"
+" ipa krbtpolicy-reset admin\n"
+"\n"
+" Modify per-user policy for user 'admin':\n"
+" ipa krbtpolicy-mod admin --maxlife=3600\n"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:71
+msgid ""
+"\n"
+" Kerberos Ticket Policy object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:79
+msgid "Kerberos Ticket Policy"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:84 ipalib/plugins/passwd.py:53
+msgid "User name"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:85
+msgid "Manage ticket policy for specific user"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:90
+msgid "Max life"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:91
+msgid "Maximum ticket life (seconds)"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:96
+msgid "Max renew"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:97
+msgid "Maximum renewable age (seconds)"
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:111
+msgid ""
+"\n"
+" Modify Kerberos ticket policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:125
+msgid ""
+"\n"
+" Display the current Kerberos ticket policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/krbtpolicy.py:149
+msgid ""
+"\n"
+" Reset Kerberos ticket policy to the default values.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:19
+msgid ""
+"\n"
+"Migration to IPA\n"
+"\n"
+"Migrate users and groups from an LDAP server to IPA.\n"
+"\n"
+"This performs an LDAP query against the remote server searching for\n"
+"users and groups in a container. In order to migrate passwords you need\n"
+"to bind as a user that can read the userPassword attribute on the remote\n"
+"server. This is generally restricted to high-level admins such as\n"
+"cn=Directory Manager in 389-ds (this is the default bind user).\n"
+"\n"
+"The default user container is ou=People.\n"
+"\n"
+"The default group container is ou=Groups.\n"
+"\n"
+"Users and groups that already exist on the IPA server are skipped.\n"
+"\n"
+"Two LDAP schemas define how group members are stored: RFC2307 and\n"
+"RFC2307bis. RFC2307bis uses member and uniquemember to specify group\n"
+"members, RFC2307 uses memberUid. The default schema is RFC2307bis.\n"
+"\n"
+"Migrated users do not have Kerberos credentials, they have only their\n"
+"LDAP password. To complete the migration process, users need to go\n"
+"to http://ipa.example.com/ipa/migration and authenticate using their\n"
+"LDAP password in order to generate their Kerberos credentials.\n"
+"\n"
+"Migration is disabled by default. Use the command ipa config-mod to\n"
+"enable it:\n"
+"\n"
+" ipa config-mod --enable-migration=TRUE\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" The simplest migration, accepting all defaults:\n"
+" ipa migrate-ds ldap://ds.example.com:389\n"
+"\n"
+" Specify the user and group container. This can be used to migrate user and\n"
+" group data from an IPA v1 server:\n"
+" ipa migrate-ds --user-container='cn=users,cn=accounts' --group-container='cn=groups,cn=accounts' ldap://ds.example.com:389\n"
+msgstr ""
+
+#: ipalib/plugins/migration.py:78
+msgid ""
+"Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually."
+msgstr ""
+
+#: ipalib/plugins/migration.py:79
+msgid ""
+"Failed to add user to the default group. Use 'ipa group-add-member' to add "
+"manually."
+msgstr ""
+
+#: ipalib/plugins/migration.py:175
+msgid ""
+"\n"
+" Convert usernames in member attributes to work in IPA.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:220
+msgid "Invalid LDAP URI."
+msgstr ""
+
+#: ipalib/plugins/migration.py:225
+msgid ""
+"\n"
+" Migrate users and groups from DS to IPA.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:266
+msgid "LDAP URI"
+msgstr ""
+
+#: ipalib/plugins/migration.py:267
+msgid "LDAP URI of DS server to migrate from"
+msgstr ""
+
+#: ipalib/plugins/migration.py:272
+msgid "bind password"
+msgstr ""
+
+#: ipalib/plugins/migration.py:279
+msgid "Bind DN"
+msgstr ""
+
+#: ipalib/plugins/migration.py:285
+msgid "User container"
+msgstr ""
+
+#: ipalib/plugins/migration.py:286
+msgid "RDN of container for users in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:292
+msgid "Group container"
+msgstr ""
+
+#: ipalib/plugins/migration.py:293
+msgid "RDN of container for groups in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:299
+msgid "User object class"
+msgstr ""
+
+#: ipalib/plugins/migration.py:300
+msgid ""
+"Comma-separated list of objectclasses used to search for user entries in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:306
+msgid "Group object class"
+msgstr ""
+
+#: ipalib/plugins/migration.py:307
+msgid ""
+"Comma-separated list of objectclasses used to search for group entries in DS"
+msgstr ""
+
+#: ipalib/plugins/migration.py:313
+msgid "LDAP schema"
+msgstr ""
+
+#: ipalib/plugins/migration.py:314
+msgid ""
+"The schema used on the LDAP server. Supported values are RFC2307 and "
+"RFC2307bis. The default is RFC2307bis"
+msgstr ""
+
+#: ipalib/plugins/migration.py:320
+msgid ""
+"Continuous operation mode. Errors are reported but the process continues"
+msgstr ""
+
+#: ipalib/plugins/migration.py:328
+msgid "Lists of objects migrated; categorized by type."
+msgstr ""
+
+#: ipalib/plugins/migration.py:332
+msgid "Lists of objects that could not be migrated; categorized by type."
+msgstr ""
+
+#: ipalib/plugins/migration.py:336
+msgid "False if migration mode was disabled."
+msgstr ""
+
+#: ipalib/plugins/migration.py:340
+msgid "comma-separated list of %s to exclude from migration"
+msgstr ""
+
+#: ipalib/plugins/migration.py:342
+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:347
+msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it."
+msgstr ""
+
+#: ipalib/plugins/migration.py:350
+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:358
+msgid ""
+"\n"
+" Call get_options of the baseclass and add \"exclude\" options\n"
+" for each type of object being migrated.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:375
+msgid ""
+"\n"
+" Convert all \"exclude\" option values to lower-case.\n"
+"\n"
+" Also, empty List parameters are converted to None, but the migration\n"
+" plugin doesn't like that - convert back to empty lists.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:399
+msgid ""
+"\n"
+" Migrate objects from DS to LDAP.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/migration.py:425
+msgid "Container for %(container)s not found"
+msgstr ""
+
+#: ipalib/plugins/misc.py:20
+msgid ""
+"\n"
+"Misc plug-ins\n"
+msgstr ""
+
+#: ipalib/plugins/misc.py:36
+msgid "Show environment variables"
+msgstr ""
+
+#: ipalib/plugins/misc.py:38
+msgid "%(count)d variables"
+msgstr ""
+
+#: ipalib/plugins/misc.py:47 ipalib/plugins/misc.py:115
+msgid ""
+"retrieve and print all attributes from the server. Affects command output."
+msgstr ""
+
+#: ipalib/plugins/misc.py:61
+msgid "Total number of variables env (>= count)"
+msgstr ""
+
+#: ipalib/plugins/misc.py:66
+msgid "Number of variables returned (<= total)"
+msgstr ""
+
+#: ipalib/plugins/misc.py:106
+msgid "Show all loaded plugins"
+msgstr ""
+
+#: ipalib/plugins/misc.py:108
+msgid "%(count)d plugin loaded"
+msgid_plural "%(count)d plugins loaded"
+msgstr[0] ""
+
+#: ipalib/plugins/misc.py:126
+msgid "Number of plugins loaded"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:20
+msgid ""
+"\n"
+"Netgroups\n"
+"\n"
+"A netgroup is a group used for permission checking. It can contain both\n"
+"user and host values.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new netgroup:\n"
+" ipa netgroup-add --desc=\"NFS admins\" admins\n"
+"\n"
+" Add members to the netgroup:\n"
+" ipa netgroup-add-member --users=tuser1,tuser2 admins\n"
+"\n"
+" Remove a member from the netgroup:\n"
+" ipa netgroup-remove-member --users=tuser2 admins\n"
+"\n"
+" Display information about a netgroup:\n"
+" ipa netgroup-show admins\n"
+"\n"
+" Delete a netgroup:\n"
+" ipa netgroup-del admins\n"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:59
+msgid "Member Host"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:67
+msgid ""
+"\n"
+" Netgroup object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:98
+msgid "Netgroups"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:103
+msgid "Netgroup name"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:110
+msgid "Netgroup description"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:114
+msgid "NIS domain name"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:119
+msgid "IPA unique ID"
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:140
+msgid ""
+"\n"
+" Add a new netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:144
+msgid "Added netgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:153
+msgid ""
+"\n"
+" Delete a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:156
+msgid "Deleted netgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:162
+msgid ""
+"\n"
+" Modify a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:166
+msgid "Modified netgroup \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:180
+msgid ""
+"\n"
+" Search for a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:185
+msgid "%(count)d netgroup matched"
+msgid_plural "%(count)d netgroups matched"
+msgstr[0] ""
+
+#: ipalib/plugins/netgroup.py:213
+msgid ""
+"\n"
+" Display information about a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:222
+msgid ""
+"\n"
+" Add members to a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/netgroup.py:258
+msgid ""
+"\n"
+" Remove members from a netgroup.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/passwd.py:19
+msgid ""
+"\n"
+"Set a user's password\n"
+"\n"
+"If someone other than a user changes that user's password (e.g., Helpdesk\n"
+"resets it) then the password will need to be changed the first time it\n"
+"is used. This is so the end-user is the only one who knows the password.\n"
+"\n"
+"The IPA password policy controls how often a password may be changed,\n"
+"what strength requirements exist, and the length of the password history.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" To reset your own password:\n"
+" ipa passwd\n"
+"\n"
+" To change another user's password:\n"
+" ipa passwd tuser1\n"
+msgstr ""
+
+#: ipalib/plugins/passwd.py:46
+msgid ""
+"\n"
+" Set a user's password\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/passwd.py:64
+msgid "Changed password for \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/passwd.py:67
+msgid ""
+"\n"
+" Execute the passwd operation.\n"
+"\n"
+" The dn should not be passed as a keyword argument as it is constructed\n"
+" by this method.\n"
+"\n"
+" Returns the entry\n"
+"\n"
+" :param principal: The login name or principal of the user\n"
+" :param password: the new password\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:19
+msgid ""
+"\n"
+"Permissions\n"
+"\n"
+"A permission enables fine-grained delegation of rights. A permission is\n"
+"a human-readable form of a 389-ds Access Control Rule, or instruction (ACI).\n"
+"A permission grants the right to perform a specific task such as adding a\n"
+"user, modifying a group, etc.\n"
+"\n"
+"A permission may not contain other permissions.\n"
+"\n"
+"* A permission grants access to read, write, add or delete.\n"
+"* A privilege combines similar permissions (for example all the permissions\n"
+" needed to add a user).\n"
+"* A role grants a set of privileges to users, groups, hosts or hostgroups.\n"
+"\n"
+"A permission is made up of a number of different parts:\n"
+"\n"
+"1. The name of the permission.\n"
+"2. The target of the permission.\n"
+"3. The rights granted by the permission.\n"
+"\n"
+"Rights define what operations are allowed, and may be one or more\n"
+"of the following:\n"
+"1. write - write one or more attributes\n"
+"2. read - read one or more attributes\n"
+"3. add - add a new entry to the tree\n"
+"4. delete - delete an existing entry\n"
+"5. all - all permissions are granted\n"
+"\n"
+"Read permission is granted for most attributes by default so the read\n"
+"permission is not expected to be used very often.\n"
+"\n"
+"Note the distinction between attributes and entries. The permissions are\n"
+"independent, so being able to add a user does not mean that the user will\n"
+"be editable.\n"
+"\n"
+"There are a number of allowed targets:\n"
+"1. type: a type of object (user, group, etc).\n"
+"2. memberof: a member of a group or hostgroup\n"
+"3. filter: an LDAP filter\n"
+"4. subtree: an LDAP filter specifying part of the LDAP DIT. This is a\n"
+" super-set of the \"type\" target.\n"
+"5. targetgroup: grant access to modify a specific group (such as granting\n"
+" the rights to manage group membership)\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a permission that grants the creation of users:\n"
+" ipa permission-add --type=user --permissions=add \"Add Users\"\n"
+"\n"
+" Add a permission that grants the ability to manage group membership:\n"
+" ipa permission-add --attrs=member --permissions=write --type=group \"Manage Group Members\"\n"
+msgstr ""
+
+#: ipalib/plugins/permission.py:84
+msgid "Permission Type"
+msgstr ""
+
+#: ipalib/plugins/permission.py:89
+msgid ""
+"\n"
+" Permission object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:112
+msgid "Permission name"
+msgstr ""
+
+#: ipalib/plugins/permission.py:119
+msgid ""
+"Comma-separated list of permissions to grant (read, write, add, delete, all)"
+msgstr ""
+
+#: ipalib/plugins/permission.py:132
+msgid ""
+"Type of IPA object (user, group, host, hostgroup, service, netgroup, dns)"
+msgstr ""
+
+#: ipalib/plugins/permission.py:138
+msgid "Member of group"
+msgstr ""
+
+#: ipalib/plugins/permission.py:139
+msgid "Target members of a group"
+msgstr ""
+
+#: ipalib/plugins/permission.py:151
+msgid "Subtree to apply permissions to"
+msgstr ""
+
+#: ipalib/plugins/permission.py:157
+msgid "User group to apply permissions to"
+msgstr ""
+
+#: ipalib/plugins/permission.py:177
+msgid ""
+"\n"
+" Add a new permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:181
+msgid "Added permission \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/permission.py:236
+msgid ""
+"\n"
+" Delete a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:240
+msgid "Deleted permission \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/permission.py:256
+msgid ""
+"\n"
+" Modify a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:260
+msgid "Modified permission \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/permission.py:352
+msgid ""
+"\n"
+" Search for permissions.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:356
+msgid "%(count)d permission matched"
+msgid_plural "%(count)d permissions matched"
+msgstr[0] ""
+
+#: ipalib/plugins/permission.py:405
+msgid ""
+"\n"
+" Display information about a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:428
+msgid ""
+"\n"
+" Add members to a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/permission.py:437
+msgid ""
+"\n"
+" Remove members from a permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/ping.py:19
+msgid ""
+"\n"
+"Ping the remote IPA server\n"
+msgstr ""
+
+#: ipalib/plugins/ping.py:29
+msgid ""
+"\n"
+" ping a remote server\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/ping.py:37
+msgid ""
+"\n"
+" A possible enhancement would be to take an argument and echo it\n"
+" back but a fixed value works for now.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:19
+msgid ""
+"\n"
+"Kerberos pkinit options\n"
+"\n"
+"Enable or disable anonymous pkinit using the principal\n"
+"WELLKNOWN/ANONYMOUS@REALM. The server must have been installed with\n"
+"pkinit support.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Enable anonymous pkinit:\n"
+" ipa pkinit-anonymous enable\n"
+"\n"
+" Disable anonymous pkinit:\n"
+" ipa pkinit-anonymous disable\n"
+"\n"
+"For more information on anonymous pkinit see:\n"
+"\n"
+"http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit\n"
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:46
+msgid ""
+"\n"
+" PKINIT Options\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:51
+msgid "PKINIT"
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:56
+msgid ""
+"\n"
+" Accepts only Enable/Disable.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pkinit.py:67
+msgid ""
+"\n"
+" Enable or Disable Anonymous PKINIT\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:19
+msgid ""
+"\n"
+"Privileges\n"
+"\n"
+"A privilege combines permissions into a logical task. A permission provides\n"
+"the rights to do a single task. There are some IPA operations that require\n"
+"multiple permissions to succeed. A privilege is where permissions are\n"
+"combined in order to perform a specific task.\n"
+"\n"
+"For example, adding a user requires the following permissions:\n"
+" * Creating a new user entry\n"
+" * Resetting a user password\n"
+" * Adding the new user to the default IPA users group\n"
+"\n"
+"Combining these three low-level tasks into a higher level task in the\n"
+"form of a privilege named \"Add User\" makes it easier to manage Roles.\n"
+"\n"
+"A privilege may not contain other privileges.\n"
+"\n"
+"See role and permission for additional information.\n"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:45
+msgid ""
+"\n"
+" Privilege object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:65
+msgid "Privileges"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:70
+msgid "Privilege name"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:77
+msgid "Privilege description"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:85
+msgid ""
+"\n"
+" Add a new privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:89
+msgid "Added privilege \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/privilege.py:95
+msgid ""
+"\n"
+" Delete a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:99
+msgid "Deleted privilege \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/privilege.py:105
+msgid ""
+"\n"
+" Modify a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:109
+msgid "Modified privilege \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/privilege.py:115
+msgid ""
+"\n"
+" Search for privileges.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:119
+msgid "%(count)d privilege matched"
+msgid_plural "%(count)d privileges matched"
+msgstr[0] ""
+
+#: ipalib/plugins/privilege.py:127
+msgid ""
+"\n"
+" Display information about a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:135
+msgid ""
+"\n"
+" Add members to a privilege\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:144
+msgid ""
+"\n"
+" Remove members from a privilege\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:153
+msgid ""
+"\n"
+" Add permissions to a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:169
+msgid "Number of permissions added"
+msgstr ""
+
+#: ipalib/plugins/privilege.py:177
+msgid ""
+"\n"
+" Remove permissions from a privilege.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/privilege.py:195
+msgid "Number of permissions removed"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:20
+msgid ""
+"\n"
+"Password policy\n"
+"\n"
+"A password policy sets limitations on IPA passwords, including maximum\n"
+"lifetime, minimum lifetime, the number of passwords to save in\n"
+"history, the number of character classes required (for stronger passwords)\n"
+"and the minimum password length.\n"
+"\n"
+"By default there is a single, global policy for all users. You can also\n"
+"create a password policy to apply to a group. Each user is only subject\n"
+"to one password policy, either the group policy or the global policy. A\n"
+"group policy stands alone; it is not a super-set of the global policy plus\n"
+"custom settings.\n"
+"\n"
+"Each group password policy requires a unique priority setting. If a user\n"
+"is in multiple groups that have password policies, this priority determines\n"
+"which password policy is applied. A lower value indicates a higher priority\n"
+"policy.\n"
+"\n"
+"Group password policies are automatically removed when the groups they\n"
+"are associated with are removed.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Modify the global policy:\n"
+" ipa pwpolicy-mod --minlength=10\n"
+"\n"
+" Add a new group password policy:\n"
+" ipa pwpolicy-add --maxlife=90 --minlife=1 --history=10 --minclasses=3 --minlength=8 --priority=10 localadmins\n"
+"\n"
+" Display the global password policy:\n"
+" ipa pwpolicy-show\n"
+"\n"
+" Display a group password policy:\n"
+" ipa pwpolicy-show localadmins\n"
+"\n"
+" Display the policy that would be applied to a given user:\n"
+" ipa pwpolicy-show --user=tuser1\n"
+"\n"
+" Modify a group password policy:\n"
+" ipa pwpolicy-mod --minclasses=2 localadmins\n"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:72
+msgid ""
+"\n"
+" Class of Service object used for linking policies with groups\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:87
+msgid "priority must be a unique value (%(prio)d already used by %(gname)s)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:172
+msgid ""
+"\n"
+" Password Policy object\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:201
+msgid "Max failures"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:202
+msgid "Consecutive failures before lockout"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:207
+msgid "Failure reset interval"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:208
+msgid "Period after which failure count will be reset (seconds)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:213
+msgid "Lockout duration"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:214
+msgid "Period for which lockout is enforced (seconds)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:224
+msgid "Group"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:225
+msgid "Manage password policy for specific group"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:230
+msgid "Max lifetime (days)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:231
+msgid "Maximum password lifetime (in days)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:236
+msgid "Min lifetime (hours)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:237
+msgid "Minimum password lifetime (in hours)"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:242
+msgid "History size"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:243
+msgid "Password history size"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:248
+msgid "Character classes"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:249
+msgid "Minimum number of character classes"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:255
+msgid "Min length"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:256
+msgid "Minimum length of password"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:261
+msgid "Priority"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:262
+msgid "Priority of the policy (higher number means lower priority"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:294
+msgid ""
+"\n"
+" Ensure that the maximum lifetime is greater than the minimum.\n"
+" If there is no minimum lifetime set then don't return an error.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:314
+msgid "Maximum password life must be greater than minimum."
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:333
+msgid ""
+"\n"
+" Add a new group password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:361
+msgid ""
+"\n"
+" Delete a group password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:380
+msgid ""
+"\n"
+" Modify a group password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:391
+msgid "priority cannot be set on global policy"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:423
+msgid ""
+"\n"
+" Display information about password policy.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:428
+msgid "User"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:429
+msgid "Display effective policy for a specific user"
+msgstr ""
+
+#: ipalib/plugins/pwpolicy.py:452
+msgid ""
+"\n"
+" Search for group password policies.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:20
+msgid ""
+"\n"
+"Roles\n"
+"\n"
+"A role is used for fine-grained delegation. A permission grants the ability\n"
+"to perform given low-level tasks (add a user, modify a group, etc.). A\n"
+"privilege combines one or more permissions into a higher-level abstraction\n"
+"such as useradmin. A useradmin would be able to add, delete and modify users.\n"
+"\n"
+"Privileges are assigned to Roles.\n"
+"\n"
+"Users, groups, hosts and hostgroups may be members of a Role.\n"
+"\n"
+"Roles can not contain other roles.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new role:\n"
+" ipa role-add --desc=\"Junior-level admin\" junioradmin\n"
+"\n"
+" Add some privileges to this role:\n"
+" ipa role-add-privilege --privileges=addusers junioradmin\n"
+" ipa role-add-privilege --privileges=change_password junioradmin\n"
+" ipa role-add-privilege --privileges=add_user_to_default_group juioradmin\n"
+"\n"
+" Add a group of users to this role:\n"
+" ipa group-add --desc=\"User admins\" useradmins\n"
+" ipa role-add-member --groups=useradmins junioradmin\n"
+"\n"
+" Display information about a role:\n"
+" ipa role-show junioradmin\n"
+"\n"
+" The result of this is that any users in the group 'useradmins' can\n"
+" add users, reset passwords or add a user to the default IPA user group.\n"
+msgstr ""
+
+#: ipalib/plugins/role.py:62
+msgid ""
+"\n"
+" Role object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:81
+msgid "Role"
+msgstr ""
+
+#: ipalib/plugins/role.py:86
+msgid "Role name"
+msgstr ""
+
+#: ipalib/plugins/role.py:93
+msgid "A description of this role-group"
+msgstr ""
+
+#: ipalib/plugins/role.py:101
+msgid ""
+"\n"
+" Add a new role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:105
+msgid "Added role \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/role.py:111
+msgid ""
+"\n"
+" Delete a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:115
+msgid "Deleted role \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/role.py:121
+msgid ""
+"\n"
+" Modify a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:125
+msgid "Modified role \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/role.py:131
+msgid ""
+"\n"
+" Search for roles.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:135
+msgid "%(count)d role matched"
+msgid_plural "%(count)d roles matched"
+msgstr[0] ""
+
+#: ipalib/plugins/role.py:143
+msgid ""
+"\n"
+" Display information about a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:151
+msgid ""
+"\n"
+" Add members to a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:159
+msgid ""
+"\n"
+" Remove members from a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:167
+msgid ""
+"\n"
+" Add privileges to a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:183
+msgid "Number of privileges added"
+msgstr ""
+
+#: ipalib/plugins/role.py:191
+msgid ""
+"\n"
+" Remove privileges from a role.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/role.py:207
+msgid "Number of privileges removed"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:19
+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:\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. Add telephoneNumber to the list:\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:56
+msgid ""
+"\n"
+" Determine if the ACI is a Self-service ACI and raise an exception if it\n"
+" isn't.\n"
+"\n"
+" Return the result if it is a self-service ACI.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:64
+msgid "Self-service permission '%(permission)s' not found"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:68
+msgid ""
+"\n"
+" Selfservice object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:75
+msgid "Self Service Permissions"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:80 ipalib/plugins/selfservice.py:81
+msgid "Self-service name"
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:114
+msgid ""
+"\n"
+" Add a new self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:118
+msgid "Added selfservice \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:137
+msgid ""
+"\n"
+" Delete a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:142
+msgid "Deleted selfservice \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:158
+msgid ""
+"\n"
+" Modify a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:162
+msgid "Modified selfservice \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:181
+msgid ""
+"\n"
+" Search for a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/selfservice.py:185
+msgid "%(count)d selfservice matched"
+msgid_plural "%(count)d selfservices matched"
+msgstr[0] ""
+
+#: ipalib/plugins/selfservice.py:207
+msgid ""
+"\n"
+" Display information about a self-service permission.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:21
+msgid ""
+"\n"
+"Services\n"
+"\n"
+"A IPA service represents a service that runs on a host. The IPA service\n"
+"record can store a Kerberos principal, an SSL certificate, or both.\n"
+"\n"
+"An IPA service can be managed directly from a machine, provided that\n"
+"machine has been given the correct permission. This is true even for\n"
+"machines other than the one the service is associated with. For example,\n"
+"requesting an SSL certificate using the host service principal credentials\n"
+"of the host. To manage a service using host credentials you need to\n"
+"kinit as the host:\n"
+"\n"
+" # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM\n"
+"\n"
+"Adding an IPA service allows the associated service to request an SSL\n"
+"certificate or keytab, but this is performed as a separate step; they\n"
+"are not produced as a result of adding the service.\n"
+"\n"
+"Only the public aspect of a certificate is stored in a service record;\n"
+"the private key is not stored.\n"
+"\n"
+"EXAMPLES:\n"
+"\n"
+" Add a new IPA service:\n"
+" ipa service-add HTTP/web.example.com\n"
+"\n"
+" Allow a host to manage an IPA service certificate:\n"
+" ipa service-add-host --hosts=web.example.com HTTP/web.example.com\n"
+" ipa role-add-member --hosts=web.example.com certadmin\n"
+"\n"
+" 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"
+"\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/service.py:162
+msgid ""
+"\n"
+" For now just verify that it is properly base64-encoded.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:175
+msgid ""
+"\n"
+" Set individual attributes from some values from a certificate.\n"
+"\n"
+" entry_attrs is a dict of an entry\n"
+"\n"
+" returns nothing\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:199
+msgid ""
+"\n"
+" Service object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:226
+msgid "Service principal"
+msgstr ""
+
+#: ipalib/plugins/service.py:242
+msgid ""
+"\n"
+" Add a new IPA new service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:245
+msgid "Added service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/service.py:251
+msgid "force principal name even if not in DNS"
+msgstr ""
+
+#: ipalib/plugins/service.py:284
+msgid ""
+"\n"
+" Delete an IPA service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:287
+msgid "Deleted service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/service.py:321
+msgid ""
+"\n"
+" Modify an existing IPA service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:324
+msgid "Modified service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/service.py:356
+msgid ""
+"\n"
+" Search for IPA services.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:359
+msgid "%(count)d service matched"
+msgid_plural "%(count)d services matched"
+msgstr[0] ""
+
+#: ipalib/plugins/service.py:394
+msgid ""
+"\n"
+" Display information about an IPA service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:432
+msgid ""
+"\n"
+" Add hosts that can manage this service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:442
+msgid ""
+"\n"
+" Remove hosts that can manage this service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:452
+msgid ""
+"\n"
+" Disable the Kerberos key and SSL certificate of a service.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/service.py:456
+msgid "Disabled service \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:19
+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/sudocmd.py:46
+msgid ""
+"\n"
+" Sudo Command object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:64
+msgid "Sudo Commands"
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:69
+msgid "Sudo Command"
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:75
+msgid "A description of this command"
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:98
+msgid ""
+"\n"
+" Create new sudo command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:102
+msgid "Added sudo command \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:107
+msgid ""
+"\n"
+" Delete sudo command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:111
+msgid "Deleted sudo command \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:116
+msgid ""
+"\n"
+" Modify command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:120
+msgid "Modified sudo command \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:125
+msgid ""
+"\n"
+" Search for commands.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmd.py:129
+msgid "%(count)d sudo command matched"
+msgid_plural "%(count)d sudo command matched"
+msgstr[0] ""
+
+#: ipalib/plugins/sudocmd.py:136
+msgid ""
+"\n"
+" Display sudo command.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:19
+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,/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"
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:50
+msgid ""
+"\n"
+" Sudo Group object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:70
+msgid "Sudo Command Group"
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:93
+msgid ""
+"\n"
+" Create new sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:97
+msgid "Added sudo command group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:103
+msgid ""
+"\n"
+" Delete sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:107
+msgid "Deleted sudo command group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:113
+msgid ""
+"\n"
+" Modify group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:117
+msgid "Modified sudo command group \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:123
+msgid ""
+"\n"
+" Search for sudo command groups.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:127
+msgid "%(count)d sudo command group matched"
+msgid_plural "%(count)d sudo command groups matched"
+msgstr[0] ""
+
+#: ipalib/plugins/sudocmdgroup.py:136
+msgid ""
+"\n"
+" Display sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:144
+msgid ""
+"\n"
+" Add members to sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudocmdgroup.py:152
+msgid ""
+"\n"
+" Remove members from sudo command group.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:19
+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"
+"\n"
+"FreeIPA provides a designated binddn to use with Sudo located at:\n"
+"uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n"
+"\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"
+"\n"
+"For more information, see the FreeIPA Documentation to Sudo.\n"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:44
+msgid ""
+"\n"
+" Sudo Rule management\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:68
+msgid "Sudo Rule"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:98
+msgid "Command category"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:99
+msgid "Command category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:104
+msgid "Run As User category"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:105
+msgid "Run As User category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:110
+msgid "Run As Group category"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:111
+msgid "Run As Group category the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:131
+msgid "Sudo Allow Commands"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:135
+msgid "Sudo Deny Commands"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:147
+msgid "Run As User"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:151
+msgid "Run As Group"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:156
+msgid "External User"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:157
+msgid "External User the rule applies to"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:161
+msgid "RunAs External User"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:162
+msgid "External User the commands can run as"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:166
+msgid "RunAs External Group"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:167
+msgid "External Group the commands can run as"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:175
+msgid ""
+"\n"
+" Create new Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:183
+msgid "Added sudo rule \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:189
+msgid ""
+"\n"
+" Delete Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:197
+msgid ""
+"\n"
+" Modify Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:205
+msgid ""
+"\n"
+" Search for Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:213
+msgid ""
+"\n"
+" Display Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:221
+msgid ""
+"\n"
+" Enable a Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:247
+msgid ""
+"\n"
+" Disable a Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:273 ipalib/plugins/sudorule.py:293
+msgid ""
+"\n"
+" Add commands and sudo command groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:283 ipalib/plugins/sudorule.py:303
+msgid ""
+"\n"
+" Remove commands and sudo command groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:313
+msgid ""
+"\n"
+" Add users and groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:349
+msgid ""
+"\n"
+" Remove users and groups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:383
+msgid ""
+"\n"
+" Add hosts and hostgroups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:419
+msgid ""
+"\n"
+" Remove hosts and hostgroups affected by Sudo Rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:453
+msgid ""
+"\n"
+" Add user for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:489
+msgid ""
+"\n"
+" Remove user for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:523
+msgid ""
+"\n"
+" Add group for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:559
+msgid ""
+"\n"
+" Remove group for Sudo to execute as.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:593
+msgid ""
+"\n"
+" Add an option to the Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:600 ipalib/plugins/sudorule.py:641
+msgid "Sudo Option"
+msgstr ""
+
+#: ipalib/plugins/sudorule.py:635
+msgid ""
+"\n"
+" Remove an option from Sudo rule.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:20
+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"
+"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/user.py:79
+msgid ""
+"\n"
+" User object.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:116
+msgid "User login"
+msgstr ""
+
+#: ipalib/plugins/user.py:123
+msgid "First name"
+msgstr ""
+
+#: ipalib/plugins/user.py:127
+msgid "Last name"
+msgstr ""
+
+#: ipalib/plugins/user.py:130
+msgid "Full name"
+msgstr ""
+
+#: ipalib/plugins/user.py:135
+msgid "Display name"
+msgstr ""
+
+#: ipalib/plugins/user.py:140
+msgid "Initials"
+msgstr ""
+
+#: ipalib/plugins/user.py:146
+msgid "Home directory"
+msgstr ""
+
+#: ipalib/plugins/user.py:150
+msgid "GECOS field"
+msgstr ""
+
+#: ipalib/plugins/user.py:156
+msgid "Login shell"
+msgstr ""
+
+#: ipalib/plugins/user.py:161
+msgid "Kerberos principal"
+msgstr ""
+
+#: ipalib/plugins/user.py:168
+msgid "Email address"
+msgstr ""
+
+#: ipalib/plugins/user.py:173
+msgid "Prompt to set the user password"
+msgstr ""
+
+#: ipalib/plugins/user.py:180
+msgid "UID"
+msgstr ""
+
+#: ipalib/plugins/user.py:181
+msgid "User ID Number (system will assign one if not provided)"
+msgstr ""
+
+#: ipalib/plugins/user.py:188
+msgid "Group ID Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:193
+msgid "Street address"
+msgstr ""
+
+#: ipalib/plugins/user.py:197
+msgid "City"
+msgstr ""
+
+#: ipalib/plugins/user.py:201
+msgid "State/Province"
+msgstr ""
+
+#: ipalib/plugins/user.py:204
+msgid "ZIP"
+msgstr ""
+
+#: ipalib/plugins/user.py:208
+msgid "Telephone Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:211
+msgid "Mobile Telephone Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:214
+msgid "Pager Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:218
+msgid "Fax Number"
+msgstr ""
+
+#: ipalib/plugins/user.py:222
+msgid "Org. Unit"
+msgstr ""
+
+#: ipalib/plugins/user.py:225
+msgid "Job Title"
+msgstr ""
+
+#: ipalib/plugins/user.py:228
+msgid "Manager"
+msgstr ""
+
+#: ipalib/plugins/user.py:231
+msgid "Car License"
+msgstr ""
+
+#: ipalib/plugins/user.py:234
+msgid "Account disabled"
+msgstr ""
+
+#: ipalib/plugins/user.py:258
+msgid ""
+"\n"
+" Given a userid verify the user's existence and return the dn.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:276
+msgid "manager %(manager)s not found"
+msgstr ""
+
+#: ipalib/plugins/user.py:281
+msgid ""
+"\n"
+" Convert a manager dn into a userid\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:295
+msgid ""
+"\n"
+" Add a new user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:298
+msgid "Added user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:303
+msgid "Don't create user private group"
+msgstr ""
+
+#: ipalib/plugins/user.py:333
+msgid "can be at most %(len)d characters"
+msgstr ""
+
+#: ipalib/plugins/user.py:400
+msgid ""
+"\n"
+" Delete a user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:404
+msgid "Deleted user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:413
+msgid ""
+"\n"
+" Modify a user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:417
+msgid "Modified user \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:437
+msgid ""
+"\n"
+" Search for users.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:444
+msgid "Self"
+msgstr ""
+
+#: ipalib/plugins/user.py:445
+msgid "Display user record for current Kerberos principal"
+msgstr ""
+
+#: ipalib/plugins/user.py:463
+msgid "%(count)d user matched"
+msgid_plural "%(count)d users matched"
+msgstr[0] ""
+
+#: ipalib/plugins/user.py:471
+msgid ""
+"\n"
+" Display information about a user.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:484
+msgid ""
+"\n"
+" Disable a user account.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:489
+msgid "Disabled user account \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:507
+msgid ""
+"\n"
+" Enable a user account.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:512
+msgid "Enabled user account \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/user.py:529
+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.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/user.py:538
+msgid "Unlocked account \"%(value)s\""
+msgstr ""
+
+#: ipalib/plugins/virtual.py:20
+msgid ""
+"\n"
+"Base classes for non-LDAP backend plugins.\n"
+msgstr ""
+
+#: ipalib/plugins/virtual.py:28
+msgid ""
+"\n"
+" A command that doesn't use the LDAP backend but wants to use the\n"
+" LDAP access control system to make authorization decisions.\n"
+"\n"
+" The class variable operation is the commonName attribute of the\n"
+" entry to be tested against.\n"
+"\n"
+" In advance, you need to create an entry of the form:\n"
+" cn=<operation>, api.env.container_virtual, api.env.basedn\n"
+"\n"
+" Ex.\n"
+" cn=request certificate, cn=virtual operations,cn=etc, dc=example, dc=com\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/virtual.py:44
+msgid ""
+"\n"
+" Perform an LDAP query to determine authorization.\n"
+"\n"
+" This should be executed before any actual work is done.\n"
+" "
+msgstr ""
+
+#: ipalib/plugins/xmlclient.py:21
+msgid ""
+"\n"
+"XML-RPC client plugin.\n"
+msgstr ""
+
+#: ipalib/cli.py:581
+#, python-format
+msgid "Enter %(label)s again to verify: "
+msgstr ""
+
+#: ipalib/cli.py:585 ipa-client/ipa-getkeytab.c:751
+#, c-format
+msgid "Passwords do not match!"
+msgstr ""
+
+#: ipalib/cli.py:590
+msgid "Cancelled."
+msgstr ""
+
+#: ipalib/cli.py:819
+msgid "Command name"
+msgstr ""
+
+#: ipalib/cli.py:1117
+msgid "No file to read"
+msgstr ""
+
+#: ipalib/errors.py:300
+#, python-format
+msgid "%(cver)s client incompatible with %(sver)s server at %(server)r"
+msgstr ""
+
+#: ipalib/errors.py:318
+#, python-format
+msgid "unknown error %(code)d from %(server)s: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:334
+msgid "an internal error has occurred"
+msgstr ""
+
+#: ipalib/errors.py:356
+#, python-format
+msgid "an internal error has occurred on server at %(server)r"
+msgstr ""
+
+#: ipalib/errors.py:372
+#, python-format
+msgid "unknown command %(name)r"
+msgstr ""
+
+#: ipalib/errors.py:389 ipalib/errors.py:414
+#, python-format
+msgid "error on server %(server)r: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:405
+#, python-format
+msgid "cannot connect to %(uri)r: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:423
+#, python-format
+msgid "Invalid JSON-RPC request: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:439
+#, python-format
+msgid "error marshalling data for XML-RPC transport: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:465
+#, python-format
+msgid "Kerberos error: %(major)s/%(minor)s"
+msgstr ""
+
+#: ipalib/errors.py:482
+msgid "did not receive Kerberos credentials"
+msgstr ""
+
+#: ipalib/errors.py:498
+#, python-format
+msgid "Service %(service)r not found in Kerberos database"
+msgstr ""
+
+#: ipalib/errors.py:514
+msgid "No credentials cache found"
+msgstr ""
+
+#: ipalib/errors.py:530
+msgid "Ticket expired"
+msgstr ""
+
+#: ipalib/errors.py:546
+msgid "Credentials cache permissions incorrect"
+msgstr ""
+
+#: ipalib/errors.py:562
+msgid "Bad format in credentials cache"
+msgstr ""
+
+#: ipalib/errors.py:578
+msgid "Cannot resolve KDC for requested realm"
+msgstr ""
+
+#: ipalib/errors.py:597
+#, python-format
+msgid "Insufficient access: %(info)s"
+msgstr ""
+
+#: ipalib/errors.py:641
+#, python-format
+msgid "command %(name)r takes no arguments"
+msgstr ""
+
+#: ipalib/errors.py:661
+#, python-format
+msgid "command %(name)r takes at most %(count)d argument"
+msgid_plural "command %(name)r takes at most %(count)d arguments"
+msgstr[0] ""
+
+#: ipalib/errors.py:691
+#, python-format
+msgid "overlapping arguments and options: %(names)r"
+msgstr ""
+
+#: ipalib/errors.py:707
+#, python-format
+msgid "%(name)r is required"
+msgstr ""
+
+#: ipalib/errors.py:723 ipalib/errors.py:739
+#, python-format
+msgid "invalid %(name)r: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:755
+#, python-format
+msgid "api has no such namespace: %(name)r"
+msgstr ""
+
+#: ipalib/errors.py:764
+msgid "Passwords do not match"
+msgstr ""
+
+#: ipalib/errors.py:773
+msgid "Command not implemented"
+msgstr ""
+
+#: ipalib/errors.py:782
+msgid "Client is not configured. Run ipa-client-install."
+msgstr ""
+
+#: ipalib/errors.py:810 ipalib/errors.py:1050 ipalib/errors.py:1144
+#: ipalib/errors.py:1424 ipalib/errors.py:1441
+#, python-format
+msgid "%(reason)s"
+msgstr ""
+
+#: ipalib/errors.py:826
+msgid "This entry already exists"
+msgstr ""
+
+#: ipalib/errors.py:842
+msgid "You must enroll a host in order to create a host service"
+msgstr ""
+
+#: ipalib/errors.py:858
+#, python-format
+msgid ""
+"Service principal is not of the form: service/fully-qualified host name: "
+"%(reason)s"
+msgstr ""
+
+#: ipalib/errors.py:874
+msgid ""
+"The realm for the principal does not match the realm for this IPA server"
+msgstr ""
+
+#: ipalib/errors.py:890
+msgid "This command requires root access"
+msgstr ""
+
+#: ipalib/errors.py:906
+msgid "This is already a posix group"
+msgstr ""
+
+#: ipalib/errors.py:922
+#, python-format
+msgid "Principal is not of the form user@REALM: %(principal)r"
+msgstr ""
+
+#: ipalib/errors.py:938
+msgid "This entry is already enabled"
+msgstr ""
+
+#: ipalib/errors.py:954
+msgid "This entry is already disabled"
+msgstr ""
+
+#: ipalib/errors.py:970
+msgid "This entry cannot be enabled or disabled"
+msgstr ""
+
+#: ipalib/errors.py:986
+msgid "This entry is not a member"
+msgstr ""
+
+#: ipalib/errors.py:1002
+msgid "A group may not be a member of itself"
+msgstr ""
+
+#: ipalib/errors.py:1018
+msgid "This entry is already a member"
+msgstr ""
+
+#: ipalib/errors.py:1034
+#, python-format
+msgid "Base64 decoding failed: %(reason)s"
+msgstr ""
+
+#: ipalib/errors.py:1066
+msgid "A group may not be added as a member of itself"
+msgstr ""
+
+#: ipalib/errors.py:1082
+msgid "The default users group cannot be removed"
+msgstr ""
+
+#: ipalib/errors.py:1098
+msgid "Host does not have corresponding DNS A record"
+msgstr ""
+
+#: ipalib/errors.py:1113
+msgid "Deleting a managed group is not allowed. It must be detached first."
+msgstr ""
+
+#: ipalib/errors.py:1128
+msgid "A managed group cannot have a password policy."
+msgstr ""
+
+#: ipalib/errors.py:1160
+#, python-format
+msgid "'%(entry)s' doesn't have a certificate."
+msgstr ""
+
+#: ipalib/errors.py:1176
+#, python-format
+msgid "Unable to create private group. A group '%(group)s' already exists."
+msgstr ""
+
+#: ipalib/errors.py:1192
+#, python-format
+msgid ""
+"A problem was encountered when verifying that all members were %(verb)s: "
+"%(exc)s"
+msgstr ""
+
+#: ipalib/errors.py:1216
+#, python-format
+msgid "no command nor help topic %(topic)r"
+msgstr ""
+
+#: ipalib/errors.py:1240
+msgid "change collided with another change"
+msgstr ""
+
+#: ipalib/errors.py:1256
+msgid "no modifications to be performed"
+msgstr ""
+
+#: ipalib/errors.py:1272
+#, python-format
+msgid "%(desc)s: %(info)s"
+msgstr ""
+
+#: ipalib/errors.py:1288
+msgid "limits exceeded for this query"
+msgstr ""
+
+#: ipalib/errors.py:1303
+#, python-format
+msgid "%(info)s"
+msgstr ""
+
+#: ipalib/errors.py:1318
+msgid "modifying primary key is not allowed"
+msgstr ""
+
+#: ipalib/errors.py:1334
+#, python-format
+msgid "%(attr)s: Only one value allowed."
+msgstr ""
+
+#: ipalib/errors.py:1350
+#, python-format
+msgid "%(attr)s: Invalid syntax."
+msgstr ""
+
+#: ipalib/errors.py:1366
+#, python-format
+msgid "Bad search filter %(info)s"
+msgstr ""
+
+#: ipalib/errors.py:1391
+#, python-format
+msgid "Certificate operation cannot be completed: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:1407
+#, python-format
+msgid "Certificate format error: %(error)s"
+msgstr ""
+
+#: ipalib/errors.py:1458
+msgid "Already registered"
+msgstr ""
+
+#: ipalib/errors.py:1474
+msgid "Not registered yet"
+msgstr ""
+
+#: ipalib/frontend.py:398
+msgid "Results are truncated, try a more specific search"
+msgstr ""
+
+#: ipalib/frontend.py:850
+msgid ""
+"Retrieve and print all attributes from the server. Affects command output."
+msgstr ""
+
+#: ipalib/frontend.py:856
+msgid "Print entries as stored on the server. Only affects output format."
+msgstr ""
+
+#: ipalib/frontend.py:985
+msgid "Forward to server instead of running locally"
+msgstr ""
+
+#: ipalib/output.py:92
+msgid "A dictionary representing an LDAP entry"
+msgstr ""
+
+#: ipalib/output.py:100
+msgid "A list of LDAP entries"
+msgstr ""
+
+#: ipalib/output.py:111
+msgid "All commands should at least have a result"
+msgstr ""
+
+#: ipalib/parameters.py:296
+msgid "incorrect type"
+msgstr ""
+
+#: ipalib/parameters.py:299
+msgid "Only one value is allowed"
+msgstr ""
+
+#: ipalib/parameters.py:901
+msgid "must be True or False"
+msgstr ""
+
+#: ipalib/parameters.py:1002
+msgid "must be an integer"
+msgstr ""
+
+#: ipalib/parameters.py:1054
+#, python-format
+msgid "must be at least %(minvalue)d"
+msgstr ""
+
+#: ipalib/parameters.py:1064
+#, python-format
+msgid "can be at most %(maxvalue)d"
+msgstr ""
+
+#: ipalib/parameters.py:1074
+msgid "must be a decimal number"
+msgstr ""
+
+#: ipalib/parameters.py:1097
+#, python-format
+msgid "must be at least %(minvalue)f"
+msgstr ""
+
+#: ipalib/parameters.py:1107
+#, python-format
+msgid "can be at most %(maxvalue)f"
+msgstr ""
+
+#: ipalib/parameters.py:1174
+#, python-format
+msgid "must match pattern \"%(pattern)s\""
+msgstr ""
+
+#: ipalib/parameters.py:1192
+msgid "must be binary data"
+msgstr ""
+
+#: ipalib/parameters.py:1208
+#, python-format
+msgid "must be at least %(minlength)d bytes"
+msgstr ""
+
+#: ipalib/parameters.py:1218
+#, python-format
+msgid "can be at most %(maxlength)d bytes"
+msgstr ""
+
+#: ipalib/parameters.py:1228
+#, python-format
+msgid "must be exactly %(length)d bytes"
+msgstr ""
+
+#: ipalib/parameters.py:1246
+msgid "must be Unicode text"
+msgstr ""
+
+#: ipalib/parameters.py:1277
+#, python-format
+msgid "must be at least %(minlength)d characters"
+msgstr ""
+
+#: ipalib/parameters.py:1287
+#, python-format
+msgid "can be at most %(maxlength)d characters"
+msgstr ""
+
+#: ipalib/parameters.py:1297
+#, python-format
+msgid "must be exactly %(length)d characters"
+msgstr ""
+
+#: ipalib/parameters.py:1315
+#, python-format
+msgid "The character '%(char)r' is not allowed."
+msgstr ""
+
+#: ipalib/parameters.py:1355
+#, python-format
+msgid "must be one of %(values)r"
+msgstr ""
+
+#: ipalib/util.py:200
+#, python-format
+msgid "Permission denied: %(file)s"
+msgstr ""
+
+#: ipalib/x509.py:174
+#, python-format
+msgid "Issuer \"%(issuer)s\" does not match the expected issuer"
+msgstr ""
+
+#: ipaserver/plugins/dogtag.py:1313 ipaserver/plugins/dogtag.py:1398
+#: ipaserver/plugins/dogtag.py:1463 ipaserver/plugins/dogtag.py:1541
+#: ipaserver/plugins/dogtag.py:1600
+#, python-format
+msgid "Unable to communicate with CMS (%s)"
+msgstr ""
+
+#: ipaserver/plugins/join.py:54
+msgid "The hostname to register as"
+msgstr ""
+
+#: ipaserver/plugins/join.py:62
+msgid "The IPA realm"
+msgstr ""
+
+#: ipaserver/plugins/join.py:68
+msgid "Hardware platform of the host (e.g. Lenovo T61)"
+msgstr ""
+
+#: ipaserver/plugins/join.py:72
+msgid "Operating System and version of the host (e.g. Fedora 9)"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:99
+#, python-format
+msgid ""
+"Request subject \"%(request_subject)s\" does not match the form "
+"\"%(subject_base)s\""
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:104
+#, python-format
+msgid "unable to decode csr: %s"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:125 ipaserver/plugins/selfsign.py:140
+msgid "file operation"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:154
+msgid "cannot obtain next serial number"
+msgstr ""
+
+#: ipaserver/plugins/selfsign.py:189
+msgid "certutil failure"
+msgstr ""
+
+#: ipa-client/config.c:55
+#, c-format
+msgid "cannot open configuration file %s\n"
+msgstr ""
+
+#: ipa-client/config.c:62
+#, c-format
+msgid "cannot stat() configuration file %s\n"
+msgstr ""
+
+#: ipa-client/config.c:68
+#, c-format
+msgid "out of memory\n"
+msgstr ""
+
+#: ipa-client/config.c:79
+#, c-format
+msgid "read error\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:85 ipa-client/ipa-getkeytab.c:821
+#: ipa-client/ipa-rmkeytab.c:190
+#, c-format
+msgid "Kerberos context initialization failed\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:147 ipa-client/ipa-getkeytab.c:834
+#, c-format
+msgid "No system preferred enctypes ?!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:155
+#, c-format
+msgid "Out of memory!?\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:173 ipa-client/ipa-getkeytab.c:188
+#, c-format
+msgid "Out of memory\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:203
+#, c-format
+msgid "Warning unrecognized encryption type: [%s]\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:218
+#, c-format
+msgid "Warning unrecognized salt type: [%s]\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:245
+#, c-format
+msgid "Enctype comparison failed!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:307
+#, c-format
+msgid "Failed to create random key!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:320 ipa-client/ipa-getkeytab.c:337
+#: ipa-client/ipa-getkeytab.c:345 ipa-client/ipa-getkeytab.c:382
+#, c-format
+msgid "Failed to create key!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:327 ipa-client/ipa-getkeytab.c:360
+#: ipa-client/ipa-join.c:417 ipa-client/ipa-join.c:426
+#: ipa-client/ipa-join.c:563 ipa-client/ipa-join.c:751
+#: ipa-client/ipa-join.c:819
+#, c-format
+msgid "Out of memory!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:371
+#, c-format
+msgid "Bad or unsupported salt type (%d)!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:492
+#, c-format
+msgid "No keys accepted by KDC\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:507
+#, c-format
+msgid "Out of memory \n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:545
+#, c-format
+msgid "Out of Memory!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:552
+#, c-format
+msgid "Failed to create control!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:576
+#, c-format
+msgid "Unable to initialize ldap library!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:583
+#, c-format
+msgid "Unable to set ldap options!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:596
+#, c-format
+msgid "Simple bind failed\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:606
+#, c-format
+msgid "SASL Bind failed!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:622 ipa-client/ipa-getkeytab.c:635
+#: ipa-client/ipa-getkeytab.c:642 ipa-client/ipa-getkeytab.c:649
+#, c-format
+msgid "Operation failed! %s\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:655 ipa-client/ipa-getkeytab.c:665
+#, c-format
+msgid "Missing reply control!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:672
+#, c-format
+msgid "ber_init() failed, Invalid control ?!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:691 ipa-client/ipa-getkeytab.c:698
+#, c-format
+msgid "ber_scanf() failed, Invalid control ?!\n"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:736
+msgid "New Principal Password"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:742
+msgid "Verify Principal Password"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:776
+msgid "Print as little as possible"
+msgstr ""
+
+#: ipa-client/ipa-getkeytab.c:776
+msgid "Output only on errors"
+msgstr ""