From 094dba54661fd8e688b18212e03bd4c31ccb5eab Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Wed, 12 Sep 2012 04:34:03 -0400 Subject: Update the pot file (translation source) Generated by running `make update-pot` in install/po --- install/po/ipa.pot | 3523 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 2047 insertions(+), 1476 deletions(-) (limited to 'install') diff --git a/install/po/ipa.pot b/install/po/ipa.pot index 399db8851..ba5116885 100644 --- a/install/po/ipa.pot +++ b/install/po/ipa.pot @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2012-07-25 11:37-0400\n" +"POT-Creation-Date: 2012-09-12 04:31-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,6 +29,10 @@ msgstr "" msgid "Passwords do not match!" msgstr "" +#: ipalib/cli.py:624 +msgid "No matching entries found" +msgstr "" + #: ipalib/cli.py:764 #, python-format msgid "Purpose: %s" @@ -416,8 +420,8 @@ msgstr "" #: ipalib/errors.py:1641 #, python-format msgid "" -"%(key)s cannot be deleted because it is the last member of %(label)s " -"%(container)s" +"%(key)s cannot be deleted or disabled because it is the last member of " +"%(label)s %(container)s" msgstr "" #: ipalib/errors.py:1657 @@ -487,288 +491,292 @@ msgstr "" msgid "True means the operation was successful" msgstr "" -#: ipalib/parameters.py:370 +#: ipalib/parameters.py:371 msgid "incorrect type" msgstr "" -#: ipalib/parameters.py:373 +#: ipalib/parameters.py:374 msgid "Only one value is allowed" msgstr "" -#: ipalib/parameters.py:998 +#: ipalib/parameters.py:997 msgid "must be True or False" msgstr "" -#: ipalib/parameters.py:1099 +#: ipalib/parameters.py:1098 msgid "must be an integer" msgstr "" -#: ipalib/parameters.py:1151 +#: ipalib/parameters.py:1150 #, python-format msgid "must be at least %(minvalue)d" msgstr "" -#: ipalib/parameters.py:1161 +#: ipalib/parameters.py:1160 #, python-format msgid "can be at most %(maxvalue)d" msgstr "" -#: ipalib/parameters.py:1204 +#: ipalib/parameters.py:1203 msgid "must be a decimal number" msgstr "" -#: ipalib/parameters.py:1250 +#: ipalib/parameters.py:1249 #, python-format msgid "must be at least %(minvalue)s" msgstr "" -#: ipalib/parameters.py:1260 +#: ipalib/parameters.py:1259 #, python-format msgid "can be at most %(maxvalue)s" msgstr "" -#: ipalib/parameters.py:1269 +#: ipalib/parameters.py:1268 #, python-format msgid "" "number class '%(cls)s' is not included in a list of allowed number classes: " "%(allowed)s" msgstr "" -#: ipalib/parameters.py:1393 +#: ipalib/parameters.py:1392 #, python-format msgid "must match pattern \"%(pattern)s\"" msgstr "" -#: ipalib/parameters.py:1411 +#: ipalib/parameters.py:1410 msgid "must be binary data" msgstr "" -#: ipalib/parameters.py:1427 +#: ipalib/parameters.py:1426 #, python-format msgid "must be at least %(minlength)d bytes" msgstr "" -#: ipalib/parameters.py:1437 +#: ipalib/parameters.py:1436 #, python-format msgid "can be at most %(maxlength)d bytes" msgstr "" -#: ipalib/parameters.py:1447 +#: ipalib/parameters.py:1446 #, python-format msgid "must be exactly %(length)d bytes" msgstr "" -#: ipalib/parameters.py:1477 +#: ipalib/parameters.py:1476 msgid "must be Unicode text" msgstr "" -#: ipalib/parameters.py:1510 +#: ipalib/parameters.py:1509 msgid "Leading and trailing spaces are not allowed" msgstr "" -#: ipalib/parameters.py:1518 +#: ipalib/parameters.py:1517 #, python-format msgid "must be at least %(minlength)d characters" msgstr "" -#: ipalib/parameters.py:1528 +#: ipalib/parameters.py:1527 #, python-format msgid "can be at most %(maxlength)d characters" msgstr "" -#: ipalib/parameters.py:1538 +#: ipalib/parameters.py:1537 #, python-format msgid "must be exactly %(length)d characters" msgstr "" -#: ipalib/parameters.py:1557 +#: ipalib/parameters.py:1556 #, python-format msgid "The character '%(char)r' is not allowed." msgstr "" -#: ipalib/parameters.py:1601 +#: ipalib/parameters.py:1600 #, python-format msgid "must be one of %(values)r" msgstr "" -#: ipalib/plugins/aci.py:156 +#: ipalib/parameters.py:1842 +msgid "incomplete time value" +msgstr "" + +#: ipalib/plugins/aci.py:154 msgid "A list of ACI values" msgstr "" -#: ipalib/plugins/aci.py:220 +#: ipalib/plugins/aci.py:218 msgid "type, filter, subtree and targetgroup are mutually exclusive" msgstr "" -#: ipalib/plugins/aci.py:223 +#: ipalib/plugins/aci.py:221 msgid "ACI prefix is required" msgstr "" -#: ipalib/plugins/aci.py:226 +#: ipalib/plugins/aci.py:224 msgid "" "at least one of: type, filter, subtree, targetgroup, attrs or memberof are " "required" msgstr "" -#: ipalib/plugins/aci.py:229 +#: ipalib/plugins/aci.py:227 msgid "filter and memberof are mutually exclusive" msgstr "" -#: ipalib/plugins/aci.py:235 +#: ipalib/plugins/aci.py:233 msgid "group, permission and self are mutually exclusive" msgstr "" -#: ipalib/plugins/aci.py:237 +#: ipalib/plugins/aci.py:235 msgid "One of group, permission or self is required" msgstr "" -#: ipalib/plugins/aci.py:256 +#: ipalib/plugins/aci.py:254 #, python-format msgid "Group '%s' does not exist" msgstr "" -#: ipalib/plugins/aci.py:282 +#: ipalib/plugins/aci.py:280 msgid "empty filter" msgstr "" -#: ipalib/plugins/aci.py:303 +#: ipalib/plugins/aci.py:301 #, python-format msgid "Syntax Error: %(error)s" msgstr "" -#: ipalib/plugins/aci.py:392 +#: ipalib/plugins/aci.py:390 #, python-format msgid "ACI with name \"%s\" not found" msgstr "" -#: ipalib/plugins/aci.py:413 +#: ipalib/plugins/aci.py:411 msgid "ACI prefix" msgstr "" -#: ipalib/plugins/aci.py:414 +#: ipalib/plugins/aci.py:412 msgid "" "Prefix used to distinguish ACI types (permission, delegation, selfservice, " "none)" msgstr "" -#: ipalib/plugins/aci.py:425 +#: ipalib/plugins/aci.py:423 msgid "ACIs" msgstr "" -#: ipalib/plugins/aci.py:430 +#: ipalib/plugins/aci.py:428 msgid "ACI name" msgstr "" -#: ipalib/plugins/aci.py:436 ipalib/plugins/permission.py:121 +#: ipalib/plugins/aci.py:434 ipalib/plugins/permission.py:122 msgid "Permission" msgstr "" -#: ipalib/plugins/aci.py:437 +#: ipalib/plugins/aci.py:435 msgid "Permission ACI grants access to" msgstr "" -#: ipalib/plugins/aci.py:442 ipalib/plugins/delegation.py:102 +#: ipalib/plugins/aci.py:440 ipalib/plugins/delegation.py:102 msgid "User group" msgstr "" -#: ipalib/plugins/aci.py:443 ipalib/plugins/delegation.py:103 +#: ipalib/plugins/aci.py:441 ipalib/plugins/delegation.py:103 msgid "User group ACI grants access to" msgstr "" -#: ipalib/plugins/aci.py:448 ipalib/plugins/baseldap.py:65 -#: ipalib/plugins/delegation.py:83 ipalib/plugins/permission.py:120 -#: ipalib/plugins/permission.py:133 ipalib/plugins/selfservice.py:85 +#: ipalib/plugins/aci.py:446 ipalib/plugins/baseldap.py:65 +#: ipalib/plugins/delegation.py:83 ipalib/plugins/permission.py:121 +#: ipalib/plugins/permission.py:134 ipalib/plugins/selfservice.py:85 msgid "Permissions" msgstr "" -#: ipalib/plugins/aci.py:449 +#: ipalib/plugins/aci.py:447 msgid "" "comma-separated list of permissions to grant(read, write, add, delete, all)" msgstr "" -#: ipalib/plugins/aci.py:457 ipalib/plugins/delegation.py:90 -#: ipalib/plugins/permission.py:140 ipalib/plugins/selfservice.py:92 +#: ipalib/plugins/aci.py:455 ipalib/plugins/delegation.py:90 +#: ipalib/plugins/permission.py:141 ipalib/plugins/selfservice.py:92 msgid "Attributes" msgstr "" -#: ipalib/plugins/aci.py:458 ipalib/plugins/delegation.py:91 -#: ipalib/plugins/permission.py:141 ipalib/plugins/selfservice.py:93 +#: ipalib/plugins/aci.py:456 ipalib/plugins/delegation.py:91 +#: ipalib/plugins/permission.py:142 ipalib/plugins/selfservice.py:93 msgid "Comma-separated list of attributes" msgstr "" -#: ipalib/plugins/aci.py:464 ipalib/plugins/permission.py:148 +#: ipalib/plugins/aci.py:462 ipalib/plugins/permission.py:149 msgid "Type" msgstr "" -#: ipalib/plugins/aci.py:465 +#: ipalib/plugins/aci.py:463 msgid "type of IPA object (user, group, host, hostgroup, service, netgroup)" msgstr "" -#: ipalib/plugins/aci.py:471 +#: ipalib/plugins/aci.py:469 msgid "Member of" msgstr "" -#: ipalib/plugins/aci.py:472 +#: ipalib/plugins/aci.py:470 msgid "Member of a group" msgstr "" -#: ipalib/plugins/aci.py:477 ipalib/plugins/permission.py:161 +#: ipalib/plugins/aci.py:475 ipalib/plugins/permission.py:162 msgid "Filter" msgstr "" -#: ipalib/plugins/aci.py:478 ipalib/plugins/permission.py:162 +#: ipalib/plugins/aci.py:476 ipalib/plugins/permission.py:163 msgid "Legal LDAP filter (e.g. ou=Engineering)" msgstr "" -#: ipalib/plugins/aci.py:483 ipalib/plugins/permission.py:167 +#: ipalib/plugins/aci.py:481 ipalib/plugins/permission.py:168 msgid "Subtree" msgstr "" -#: ipalib/plugins/aci.py:484 +#: ipalib/plugins/aci.py:482 msgid "Subtree to apply ACI to" msgstr "" -#: ipalib/plugins/aci.py:489 ipalib/plugins/permission.py:173 +#: ipalib/plugins/aci.py:487 ipalib/plugins/permission.py:174 msgid "Target group" msgstr "" -#: ipalib/plugins/aci.py:490 +#: ipalib/plugins/aci.py:488 msgid "Group to apply ACI to" msgstr "" -#: ipalib/plugins/aci.py:495 +#: ipalib/plugins/aci.py:493 msgid "Target your own entry (self)" msgstr "" -#: ipalib/plugins/aci.py:496 +#: ipalib/plugins/aci.py:494 msgid "Apply ACI to your own entry (self)" msgstr "" -#: ipalib/plugins/aci.py:508 +#: ipalib/plugins/aci.py:506 #, python-format msgid "Created ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:513 +#: ipalib/plugins/aci.py:511 msgid "Test the ACI syntax but don't write anything" msgstr "" -#: ipalib/plugins/aci.py:564 +#: ipalib/plugins/aci.py:562 #, python-format msgid "Deleted ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:607 ipalib/plugins/aci.py:880 +#: ipalib/plugins/aci.py:605 ipalib/plugins/aci.py:880 #: ipalib/plugins/aci.py:921 ipalib/plugins/delegation.py:59 -#: ipalib/plugins/permission.py:87 ipalib/plugins/selfservice.py:58 +#: ipalib/plugins/permission.py:88 ipalib/plugins/selfservice.py:58 msgid "ACI" msgstr "" -#: ipalib/plugins/aci.py:615 +#: ipalib/plugins/aci.py:613 #, python-format msgid "Modified ACI \"%(value)s\"" msgstr "" -#: ipalib/plugins/aci.py:690 +#: ipalib/plugins/aci.py:688 #, python-format msgid "%(count)d ACI matched" msgid_plural "%(count)d ACIs matched" @@ -909,12 +917,12 @@ msgstr "" msgid "Auto Membership Rule" msgstr "" -#: ipalib/plugins/automember.py:176 ipalib/plugins/automount.py:574 +#: ipalib/plugins/automember.py:176 ipalib/plugins/automount.py:579 #: ipalib/plugins/group.py:123 ipalib/plugins/hbacrule.py:184 #: ipalib/plugins/hbacsvc.py:79 ipalib/plugins/hbacsvcgroup.py:77 -#: ipalib/plugins/host.py:244 ipalib/plugins/hostgroup.py:90 +#: ipalib/plugins/host.py:259 ipalib/plugins/hostgroup.py:90 #: ipalib/plugins/netgroup.py:122 ipalib/plugins/privilege.py:73 -#: ipalib/plugins/role.py:92 ipalib/plugins/selinuxusermap.py:173 +#: ipalib/plugins/role.py:92 ipalib/plugins/selinuxusermap.py:177 #: ipalib/plugins/sudocmd.py:76 ipalib/plugins/sudocmdgroup.py:78 #: ipalib/plugins/sudorule.py:111 msgid "Description" @@ -937,57 +945,57 @@ msgstr "" msgid "Group: %s not found!" msgstr "" -#: ipalib/plugins/automember.py:220 +#: ipalib/plugins/automember.py:217 #, python-format msgid "%s is not a valid attribute." msgstr "" -#: ipalib/plugins/automember.py:233 +#: ipalib/plugins/automember.py:230 msgid "" "\n" " Add an automember rule.\n" " " msgstr "" -#: ipalib/plugins/automember.py:238 +#: ipalib/plugins/automember.py:235 #, python-format msgid "Added automember rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:244 +#: ipalib/plugins/automember.py:242 msgid "Auto Membership is not configured" msgstr "" -#: ipalib/plugins/automember.py:257 +#: ipalib/plugins/automember.py:255 msgid "" "\n" " Add conditions to an automember rule.\n" " " msgstr "" -#: ipalib/plugins/automember.py:262 +#: ipalib/plugins/automember.py:260 msgid "Failed to add" msgstr "" -#: ipalib/plugins/automember.py:269 +#: ipalib/plugins/automember.py:267 #, python-format msgid "Added condition(s) to \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:278 +#: ipalib/plugins/automember.py:276 msgid "Conditions that could not be added" msgstr "" -#: ipalib/plugins/automember.py:282 +#: ipalib/plugins/automember.py:280 msgid "Number of conditions added" msgstr "" -#: ipalib/plugins/automember.py:291 ipalib/plugins/automember.py:377 +#: ipalib/plugins/automember.py:290 ipalib/plugins/automember.py:377 #, python-format msgid "Auto member rule: %s not found!" msgstr "" -#: ipalib/plugins/automember.py:334 +#: ipalib/plugins/automember.py:333 msgid "" "\n" " Override this so we can add completed and failed to the return " @@ -995,23 +1003,23 @@ msgid "" " " msgstr "" -#: ipalib/plugins/automember.py:350 +#: ipalib/plugins/automember.py:349 msgid "" "\n" " Remove conditions from an automember rule.\n" " " msgstr "" -#: ipalib/plugins/automember.py:355 +#: ipalib/plugins/automember.py:354 #, python-format msgid "Removed condition(s) from \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:364 +#: ipalib/plugins/automember.py:363 msgid "Conditions that could not be removed" msgstr "" -#: ipalib/plugins/automember.py:368 +#: ipalib/plugins/automember.py:367 msgid "Number of conditions removed" msgstr "" @@ -1083,24 +1091,24 @@ msgstr "" msgid "Set default (fallback) group for automember \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:536 +#: ipalib/plugins/automember.py:535 msgid "" "\n" " Remove default (fallback) group for all unmatched entries.\n" " " msgstr "" -#: ipalib/plugins/automember.py:541 +#: ipalib/plugins/automember.py:540 #, python-format msgid "Removed default (fallback) group for automember \"%(value)s\"" msgstr "" -#: ipalib/plugins/automember.py:553 ipalib/plugins/automember.py:560 -#: ipalib/plugins/automember.py:584 +#: ipalib/plugins/automember.py:551 ipalib/plugins/automember.py:559 +#: ipalib/plugins/automember.py:583 msgid "No default (fallback) group set" msgstr "" -#: ipalib/plugins/automember.py:572 +#: ipalib/plugins/automember.py:571 msgid "" "\n" " Display information about the default (fallback) automember groups.\n" @@ -1231,7 +1239,7 @@ msgstr "" msgid "Automount Location" msgstr "" -#: ipalib/plugins/automount.py:215 ipalib/plugins/host.py:254 +#: ipalib/plugins/automount.py:215 ipalib/plugins/host.py:269 msgid "Location" msgstr "" @@ -1248,263 +1256,273 @@ msgstr "" msgid "Added automount location \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:246 +#: ipalib/plugins/automount.py:247 msgid "Delete an automount location." msgstr "" -#: ipalib/plugins/automount.py:248 +#: ipalib/plugins/automount.py:249 #, python-format msgid "Deleted automount location \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:254 +#: ipalib/plugins/automount.py:255 msgid "Display an automount location." msgstr "" -#: ipalib/plugins/automount.py:260 +#: ipalib/plugins/automount.py:261 msgid "Search for an automount location." msgstr "" -#: ipalib/plugins/automount.py:263 +#: ipalib/plugins/automount.py:264 #, python-format msgid "%(count)d automount location matched" msgid_plural "%(count)d automount locations matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/automount.py:271 +#: ipalib/plugins/automount.py:272 msgid "Generate automount files for a specific location." msgstr "" -#: ipalib/plugins/automount.py:349 +#: ipalib/plugins/automount.py:350 msgid "maps not connected to /etc/auto.master:" msgstr "" -#: ipalib/plugins/automount.py:367 +#: ipalib/plugins/automount.py:368 msgid "Import automount files for a specific location." msgstr "" -#: ipalib/plugins/automount.py:371 +#: ipalib/plugins/automount.py:372 msgid "Master file" msgstr "" -#: ipalib/plugins/automount.py:372 +#: ipalib/plugins/automount.py:373 msgid "Automount master file." msgstr "" -#: ipalib/plugins/automount.py:379 +#: ipalib/plugins/automount.py:380 msgid "" "Continuous operation mode. Errors are reported but the process continues." msgstr "" -#: ipalib/plugins/automount.py:391 +#: ipalib/plugins/automount.py:392 #, python-format msgid "File %(file)s not found" msgstr "" -#: ipalib/plugins/automount.py:560 +#: ipalib/plugins/automount.py:444 +#, python-format +msgid "key %(key)s already exists" +msgstr "" + +#: ipalib/plugins/automount.py:460 +#, python-format +msgid "map %(map)s already exists" +msgstr "" + +#: ipalib/plugins/automount.py:565 msgid "automount map" msgstr "" -#: ipalib/plugins/automount.py:561 +#: ipalib/plugins/automount.py:566 msgid "automount maps" msgstr "" -#: ipalib/plugins/automount.py:568 +#: ipalib/plugins/automount.py:573 msgid "Map" msgstr "" -#: ipalib/plugins/automount.py:569 +#: ipalib/plugins/automount.py:574 msgid "Automount map name." msgstr "" -#: ipalib/plugins/automount.py:578 +#: ipalib/plugins/automount.py:583 msgid "Automount Maps" msgstr "" -#: ipalib/plugins/automount.py:579 +#: ipalib/plugins/automount.py:584 msgid "Automount Map" msgstr "" -#: ipalib/plugins/automount.py:585 +#: ipalib/plugins/automount.py:590 msgid "Create a new automount map." msgstr "" -#: ipalib/plugins/automount.py:587 +#: ipalib/plugins/automount.py:592 #, python-format msgid "Added automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:593 +#: ipalib/plugins/automount.py:598 msgid "Delete an automount map." msgstr "" -#: ipalib/plugins/automount.py:595 +#: ipalib/plugins/automount.py:600 #, python-format msgid "Deleted automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:613 +#: ipalib/plugins/automount.py:619 msgid "Modify an automount map." msgstr "" -#: ipalib/plugins/automount.py:615 +#: ipalib/plugins/automount.py:621 #, python-format msgid "Modified automount map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:621 +#: ipalib/plugins/automount.py:627 msgid "Search for an automount map." msgstr "" -#: ipalib/plugins/automount.py:624 +#: ipalib/plugins/automount.py:630 #, python-format msgid "%(count)d automount map matched" msgid_plural "%(count)d automount maps matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/automount.py:632 +#: ipalib/plugins/automount.py:638 msgid "Display an automount map." msgstr "" -#: ipalib/plugins/automount.py:638 +#: ipalib/plugins/automount.py:644 msgid "Automount key object." msgstr "" -#: ipalib/plugins/automount.py:642 +#: ipalib/plugins/automount.py:648 msgid "automount key" msgstr "" -#: ipalib/plugins/automount.py:643 +#: ipalib/plugins/automount.py:649 msgid "automount keys" msgstr "" -#: ipalib/plugins/automount.py:654 ipalib/plugins/automount.py:876 -#: ipalib/plugins/automount.py:985 +#: ipalib/plugins/automount.py:660 ipalib/plugins/automount.py:883 +#: ipalib/plugins/automount.py:993 msgid "Key" msgstr "" -#: ipalib/plugins/automount.py:655 ipalib/plugins/automount.py:877 -#: ipalib/plugins/automount.py:986 +#: ipalib/plugins/automount.py:661 ipalib/plugins/automount.py:884 +#: ipalib/plugins/automount.py:994 msgid "Automount key name." msgstr "" -#: ipalib/plugins/automount.py:660 ipalib/plugins/automount.py:881 -#: ipalib/plugins/automount.py:990 +#: ipalib/plugins/automount.py:666 ipalib/plugins/automount.py:888 +#: ipalib/plugins/automount.py:998 msgid "Mount information" msgstr "" -#: ipalib/plugins/automount.py:663 +#: ipalib/plugins/automount.py:669 msgid "description" msgstr "" -#: ipalib/plugins/automount.py:672 +#: ipalib/plugins/automount.py:678 msgid "Automount Keys" msgstr "" -#: ipalib/plugins/automount.py:673 +#: ipalib/plugins/automount.py:679 msgid "Automount Key" msgstr "" -#: ipalib/plugins/automount.py:674 +#: ipalib/plugins/automount.py:680 #, python-format msgid "" "The key,info pair must be unique. A key named %(key)s with info %(info)s " "already exists" msgstr "" -#: ipalib/plugins/automount.py:675 +#: ipalib/plugins/automount.py:681 #, python-format msgid "key named %(key)s already exists" msgstr "" -#: ipalib/plugins/automount.py:676 +#: ipalib/plugins/automount.py:682 #, python-format msgid "The automount key %(key)s with info %(info)s does not exist" msgstr "" -#: ipalib/plugins/automount.py:726 +#: ipalib/plugins/automount.py:732 #, python-format msgid "" "More than one entry with key %(key)s found, use --info to select specific " "entry." msgstr "" -#: ipalib/plugins/automount.py:786 +#: ipalib/plugins/automount.py:792 msgid "Create a new automount key." msgstr "" -#: ipalib/plugins/automount.py:788 +#: ipalib/plugins/automount.py:794 #, python-format msgid "Added automount key \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:815 +#: ipalib/plugins/automount.py:822 msgid "Create a new indirect mount point." msgstr "" -#: ipalib/plugins/automount.py:817 +#: ipalib/plugins/automount.py:824 #, python-format msgid "Added automount indirect map \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:822 +#: ipalib/plugins/automount.py:829 msgid "Mount point" msgstr "" -#: ipalib/plugins/automount.py:826 +#: ipalib/plugins/automount.py:833 msgid "Parent map" msgstr "" -#: ipalib/plugins/automount.py:827 +#: ipalib/plugins/automount.py:834 msgid "Name of parent automount map (default: auto.master)." msgstr "" -#: ipalib/plugins/automount.py:841 +#: ipalib/plugins/automount.py:848 msgid "mount point is relative to parent map, cannot begin with /" msgstr "" -#: ipalib/plugins/automount.py:869 +#: ipalib/plugins/automount.py:876 msgid "Delete an automount key." msgstr "" -#: ipalib/plugins/automount.py:871 +#: ipalib/plugins/automount.py:878 #, python-format msgid "Deleted automount key \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:911 +#: ipalib/plugins/automount.py:918 msgid "Modify an automount key." msgstr "" -#: ipalib/plugins/automount.py:913 +#: ipalib/plugins/automount.py:920 #, python-format msgid "Modified automount key \"%(value)s\"" msgstr "" -#: ipalib/plugins/automount.py:920 +#: ipalib/plugins/automount.py:927 msgid "New mount information" msgstr "" -#: ipalib/plugins/automount.py:969 +#: ipalib/plugins/automount.py:977 msgid "Search for an automount key." msgstr "" -#: ipalib/plugins/automount.py:972 +#: ipalib/plugins/automount.py:980 #, python-format msgid "%(count)d automount key matched" msgid_plural "%(count)d automount keys matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/automount.py:980 +#: ipalib/plugins/automount.py:988 msgid "Display an automount key." msgstr "" -#: ipalib/plugins/baseldap.py:41 ipalib/plugins/entitle.py:488 -#: ipalib/plugins/internal.py:273 ipalib/plugins/internal.py:591 -#: ipalib/plugins/migration.py:420 ipalib/plugins/user.py:266 +#: ipalib/plugins/baseldap.py:41 ipalib/plugins/entitle.py:493 +#: ipalib/plugins/internal.py:276 ipalib/plugins/internal.py:618 +#: ipalib/plugins/migration.py:406 ipalib/plugins/user.py:288 msgid "Password" msgstr "" @@ -1626,200 +1644,206 @@ msgid "Failed service/service groups" msgstr "" #: ipalib/plugins/baseldap.py:173 -msgid "Failed managedby" -msgstr "" - -#: ipalib/plugins/baseldap.py:176 msgid "Failed to remove" msgstr "" -#: ipalib/plugins/baseldap.py:180 +#: ipalib/plugins/baseldap.py:177 msgid "Failed RunAs" msgstr "" -#: ipalib/plugins/baseldap.py:183 +#: ipalib/plugins/baseldap.py:180 msgid "Failed RunAsGroup" msgstr "" -#: ipalib/plugins/baseldap.py:322 +#: ipalib/plugins/baseldap.py:198 +msgid "Invalid format. Should be name=value" +msgstr "" + +#: ipalib/plugins/baseldap.py:321 msgid "External host" msgstr "" -#: ipalib/plugins/baseldap.py:446 +#: ipalib/plugins/baseldap.py:450 msgid "An IPA master host cannot be deleted or disabled" msgstr "" -#: ipalib/plugins/baseldap.py:461 +#: ipalib/plugins/baseldap.py:465 msgid "entry" msgstr "" -#: ipalib/plugins/baseldap.py:462 +#: ipalib/plugins/baseldap.py:466 msgid "entries" msgstr "" -#: ipalib/plugins/baseldap.py:494 ipalib/plugins/baseldap.py:495 +#: ipalib/plugins/baseldap.py:498 ipalib/plugins/baseldap.py:499 msgid "Entry" msgstr "" -#: ipalib/plugins/baseldap.py:497 +#: ipalib/plugins/baseldap.py:501 #, python-format msgid "container entry (%(container)s) not found" msgstr "" -#: ipalib/plugins/baseldap.py:498 +#: ipalib/plugins/baseldap.py:502 #, python-format msgid "%(parent)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:499 +#: ipalib/plugins/baseldap.py:503 #, python-format msgid "%(pkey)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:500 +#: ipalib/plugins/baseldap.py:504 #, python-format msgid "%(oname)s with name \"%(pkey)s\" already exists" msgstr "" -#: ipalib/plugins/baseldap.py:761 +#: ipalib/plugins/baseldap.py:695 ipalib/plugins/baseldap.py:703 +#: ipalib/plugins/baseldap.py:708 +#, python-format +msgid "attribute \"%(attribute)s\" not allowed" +msgstr "" + +#: ipalib/plugins/baseldap.py:770 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:767 +#: ipalib/plugins/baseldap.py:776 msgid "" "Add an attribute/value pair. Format is attr=value. The attribute\n" "must be part of the schema." msgstr "" -#: ipalib/plugins/baseldap.py:773 +#: ipalib/plugins/baseldap.py:782 msgid "" "Delete an attribute/value pair. The option will be evaluated\n" "last, after all sets and adds." msgstr "" -#: ipalib/plugins/baseldap.py:801 +#: ipalib/plugins/baseldap.py:810 msgid "attribute is not configurable" msgstr "" -#: ipalib/plugins/baseldap.py:892 +#: ipalib/plugins/baseldap.py:909 msgid "No such attribute on this entry" msgstr "" -#: ipalib/plugins/baseldap.py:1141 +#: ipalib/plugins/baseldap.py:1168 msgid "Continuous mode: Don't stop on errors." msgstr "" -#: ipalib/plugins/baseldap.py:1166 ipalib/plugins/baseldap.py:1226 -#: ipalib/plugins/internal.py:487 +#: ipalib/plugins/baseldap.py:1193 ipalib/plugins/baseldap.py:1260 +#: ipalib/plugins/internal.py:500 msgid "Rights" msgstr "" -#: ipalib/plugins/baseldap.py:1167 ipalib/plugins/baseldap.py:1227 +#: ipalib/plugins/baseldap.py:1194 ipalib/plugins/baseldap.py:1261 msgid "" "Display the access rights of this entry (requires --all). See ipa man page " "for details." msgstr "" -#: ipalib/plugins/baseldap.py:1236 +#: ipalib/plugins/baseldap.py:1270 msgid "Rename" msgstr "" -#: ipalib/plugins/baseldap.py:1237 +#: ipalib/plugins/baseldap.py:1271 #, python-format msgid "Rename the %(ldap_obj_name)s object" msgstr "" -#: ipalib/plugins/baseldap.py:1313 +#: ipalib/plugins/baseldap.py:1349 msgid "the entry was deleted while being modified" msgstr "" -#: ipalib/plugins/baseldap.py:1423 ipalib/plugins/baseldap.py:1867 +#: ipalib/plugins/baseldap.py:1467 ipalib/plugins/baseldap.py:1930 #, python-format msgid "comma-separated list of %s" msgstr "" -#: ipalib/plugins/baseldap.py:1435 +#: ipalib/plugins/baseldap.py:1479 #, python-format msgid "member %s" msgstr "" -#: ipalib/plugins/baseldap.py:1465 ipalib/plugins/baseldap.py:1892 +#: ipalib/plugins/baseldap.py:1509 ipalib/plugins/baseldap.py:1955 #, python-format msgid "comma-separated list of %s to add" msgstr "" -#: ipalib/plugins/baseldap.py:1473 ipalib/plugins/baseldap.py:1904 +#: ipalib/plugins/baseldap.py:1517 ipalib/plugins/baseldap.py:1967 #: ipalib/plugins/privilege.py:150 ipalib/plugins/privilege.py:175 #: ipalib/plugins/role.py:164 ipalib/plugins/role.py:187 msgid "Members that could not be added" msgstr "" -#: ipalib/plugins/baseldap.py:1477 ipalib/plugins/baseldap.py:1908 +#: ipalib/plugins/baseldap.py:1521 ipalib/plugins/baseldap.py:1971 msgid "Number of members added" msgstr "" -#: ipalib/plugins/baseldap.py:1554 ipalib/plugins/baseldap.py:1988 +#: ipalib/plugins/baseldap.py:1605 ipalib/plugins/baseldap.py:2057 #, python-format msgid "comma-separated list of %s to remove" msgstr "" -#: ipalib/plugins/baseldap.py:1561 ipalib/plugins/baseldap.py:2000 +#: ipalib/plugins/baseldap.py:1612 ipalib/plugins/baseldap.py:2069 msgid "Members that could not be removed" msgstr "" -#: ipalib/plugins/baseldap.py:1565 ipalib/plugins/baseldap.py:2004 +#: ipalib/plugins/baseldap.py:1616 ipalib/plugins/baseldap.py:2073 msgid "Number of members removed" msgstr "" -#: ipalib/plugins/baseldap.py:1644 +#: ipalib/plugins/baseldap.py:1702 msgid "Primary key only" msgstr "" -#: ipalib/plugins/baseldap.py:1645 +#: ipalib/plugins/baseldap.py:1703 #, python-format msgid "Results should contain primary key attribute only (\"%s\")" msgstr "" -#: ipalib/plugins/baseldap.py:1653 +#: ipalib/plugins/baseldap.py:1711 #, python-format msgid "" "Search for %(searched_object)s with these %(relationship)s %(ldap_object)s." msgstr "" -#: ipalib/plugins/baseldap.py:1654 +#: ipalib/plugins/baseldap.py:1712 #, python-format msgid "" "Search for %(searched_object)s without these %(relationship)s " "%(ldap_object)s." msgstr "" -#: ipalib/plugins/baseldap.py:1663 +#: ipalib/plugins/baseldap.py:1721 msgid "Time Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1664 +#: ipalib/plugins/baseldap.py:1722 msgid "Time limit of search in seconds" msgstr "" -#: ipalib/plugins/baseldap.py:1670 ipalib/plugins/hbactest.py:214 +#: ipalib/plugins/baseldap.py:1728 ipalib/plugins/hbactest.py:214 msgid "Size Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1671 +#: ipalib/plugins/baseldap.py:1729 msgid "Maximum number of entries returned" msgstr "" -#: ipalib/plugins/baseldap.py:1684 +#: ipalib/plugins/baseldap.py:1742 msgid "A string searched in all relevant object attributes" msgstr "" -#: ipalib/plugins/baseldap.py:1955 +#: ipalib/plugins/baseldap.py:2020 msgid "added" msgstr "" -#: ipalib/plugins/baseldap.py:2051 +#: ipalib/plugins/baseldap.py:2122 msgid "removed" msgstr "" @@ -1912,7 +1936,7 @@ msgstr "" msgid "CSR" msgstr "" -#: ipalib/plugins/cert.py:220 ipalib/plugins/service.py:244 +#: ipalib/plugins/cert.py:220 ipalib/plugins/service.py:242 msgid "Principal" msgstr "" @@ -1924,117 +1948,150 @@ msgstr "" msgid "automatically add the principal if it doesn't exist" msgstr "" -#: ipalib/plugins/cert.py:236 ipalib/plugins/cert.py:434 -#: ipalib/plugins/entitle.py:174 ipalib/plugins/host.py:283 -#: ipalib/plugins/internal.py:386 ipalib/plugins/service.py:251 +#: ipalib/plugins/cert.py:236 ipalib/plugins/cert.py:443 +#: ipalib/plugins/entitle.py:175 ipalib/plugins/host.py:298 +#: ipalib/plugins/internal.py:392 ipalib/plugins/service.py:249 msgid "Certificate" msgstr "" -#: ipalib/plugins/cert.py:239 ipalib/plugins/cert.py:437 -#: ipalib/plugins/host.py:149 ipalib/plugins/service.py:94 +#: ipalib/plugins/cert.py:239 ipalib/plugins/cert.py:446 +#: ipalib/plugins/host.py:159 ipalib/plugins/service.py:94 msgid "Subject" msgstr "" -#: ipalib/plugins/cert.py:242 ipalib/plugins/cert.py:440 -#: ipalib/plugins/host.py:158 ipalib/plugins/service.py:103 +#: ipalib/plugins/cert.py:242 ipalib/plugins/cert.py:449 +#: ipalib/plugins/host.py:168 ipalib/plugins/service.py:103 msgid "Issuer" msgstr "" -#: ipalib/plugins/cert.py:245 ipalib/plugins/cert.py:443 -#: ipalib/plugins/host.py:161 ipalib/plugins/service.py:106 +#: ipalib/plugins/cert.py:245 ipalib/plugins/cert.py:452 +#: ipalib/plugins/host.py:171 ipalib/plugins/service.py:106 msgid "Not Before" msgstr "" -#: ipalib/plugins/cert.py:248 ipalib/plugins/cert.py:446 -#: ipalib/plugins/host.py:164 ipalib/plugins/service.py:109 +#: ipalib/plugins/cert.py:248 ipalib/plugins/cert.py:455 +#: ipalib/plugins/host.py:174 ipalib/plugins/service.py:109 msgid "Not After" msgstr "" -#: ipalib/plugins/cert.py:251 ipalib/plugins/cert.py:449 -#: ipalib/plugins/host.py:167 ipalib/plugins/service.py:112 +#: ipalib/plugins/cert.py:251 ipalib/plugins/cert.py:458 +#: ipalib/plugins/host.py:177 ipalib/plugins/service.py:112 msgid "Fingerprint (MD5)" msgstr "" -#: ipalib/plugins/cert.py:254 ipalib/plugins/cert.py:452 -#: ipalib/plugins/host.py:170 ipalib/plugins/service.py:115 +#: ipalib/plugins/cert.py:254 ipalib/plugins/cert.py:461 +#: ipalib/plugins/host.py:180 ipalib/plugins/service.py:115 msgid "Fingerprint (SHA1)" msgstr "" -#: ipalib/plugins/cert.py:257 ipalib/plugins/cert.py:422 +#: ipalib/plugins/cert.py:257 ipalib/plugins/cert.py:431 msgid "Serial number" msgstr "" -#: ipalib/plugins/cert.py:260 ipalib/plugins/cert.py:458 +#: ipalib/plugins/cert.py:260 ipalib/plugins/cert.py:467 msgid "Serial number (hex)" msgstr "" -#: ipalib/plugins/cert.py:267 ipalib/plugins/entitle.py:230 -#: ipalib/plugins/entitle.py:584 ipalib/plugins/misc.py:57 +#: ipalib/plugins/cert.py:267 ipalib/plugins/entitle.py:231 +#: ipalib/plugins/entitle.py:590 ipalib/plugins/misc.py:57 msgid "Dictionary mapping variable name to value" msgstr "" -#: ipalib/plugins/cert.py:395 +#: ipalib/plugins/cert.py:302 +#, python-format +msgid "" +"hostname in subject of request '%(subject_host)s' does not match principal " +"hostname '%(hostname)s'" +msgstr "" + +#: ipalib/plugins/cert.py:320 +msgid "The service principal for this request doesn't exist." +msgstr "" + +#: ipalib/plugins/cert.py:326 +msgid "You need to be a member of the serviceadmin role to add services" +msgstr "" + +#: ipalib/plugins/cert.py:331 +#, python-format +msgid "" +"Insufficient 'write' privilege to the 'userCertificate' attribute of entry " +"'%s'." +msgstr "" + +#: ipalib/plugins/cert.py:346 +#, python-format +msgid "no host record for subject alt name %s in certificate request" +msgstr "" + +#: ipalib/plugins/cert.py:352 +#, python-format +msgid "" +"Insufficient privilege to create a certificate with subject alt name '%s'." +msgstr "" + +#: ipalib/plugins/cert.py:404 msgid "Check the status of a certificate signing request." msgstr "" -#: ipalib/plugins/cert.py:399 +#: ipalib/plugins/cert.py:408 msgid "Request id" msgstr "" -#: ipalib/plugins/cert.py:405 +#: ipalib/plugins/cert.py:414 msgid "Request status" msgstr "" -#: ipalib/plugins/cert.py:423 +#: ipalib/plugins/cert.py:432 msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" msgstr "" -#: ipalib/plugins/cert.py:428 +#: ipalib/plugins/cert.py:437 msgid "Retrieve an existing certificate." msgstr "" -#: ipalib/plugins/cert.py:455 ipalib/plugins/host.py:173 +#: ipalib/plugins/cert.py:464 ipalib/plugins/host.py:183 #: ipalib/plugins/service.py:118 msgid "Revocation reason" msgstr "" -#: ipalib/plugins/cert.py:464 +#: ipalib/plugins/cert.py:473 msgid "Output filename" msgstr "" -#: ipalib/plugins/cert.py:465 +#: ipalib/plugins/cert.py:474 msgid "File to store the certificate in." msgstr "" -#: ipalib/plugins/cert.py:516 +#: ipalib/plugins/cert.py:525 msgid "Revoke a certificate." msgstr "" -#: ipalib/plugins/cert.py:522 +#: ipalib/plugins/cert.py:531 msgid "Revoked" msgstr "" -#: ipalib/plugins/cert.py:530 +#: ipalib/plugins/cert.py:539 msgid "Reason" msgstr "" -#: ipalib/plugins/cert.py:531 +#: ipalib/plugins/cert.py:540 msgid "Reason for revoking the certificate (0-10)" msgstr "" -#: ipalib/plugins/cert.py:552 +#: ipalib/plugins/cert.py:561 msgid "7 is not a valid revocation reason" msgstr "" -#: ipalib/plugins/cert.py:561 +#: ipalib/plugins/cert.py:570 msgid "Take a revoked certificate off hold." msgstr "" -#: ipalib/plugins/cert.py:567 +#: ipalib/plugins/cert.py:576 msgid "Unrevoked" msgstr "" -#: ipalib/plugins/cert.py:570 ipalib/plugins/internal.py:248 +#: ipalib/plugins/cert.py:579 ipalib/plugins/internal.py:251 msgid "Error" msgstr "" @@ -2221,37 +2278,41 @@ msgstr "" msgid "Default SELinux user when no match is found in SELinux map rule" msgstr "" -#: ipalib/plugins/config.py:201 +#: ipalib/plugins/config.py:194 ipalib/plugins/service.py:255 +msgid "PAC type" +msgstr "" + +#: ipalib/plugins/config.py:195 +msgid "Default types of PAC for new services" +msgstr "" + +#: ipalib/plugins/config.py:208 msgid "Modify configuration options." msgstr "" -#: ipalib/plugins/config.py:209 +#: ipalib/plugins/config.py:217 msgid "The group doesn't exist" msgstr "" -#: ipalib/plugins/config.py:224 +#: ipalib/plugins/config.py:232 #, python-format msgid "attribute \"%s\" not allowed" msgstr "" -#: ipalib/plugins/config.py:232 +#: ipalib/plugins/config.py:240 msgid "May not be empty" msgstr "" -#: ipalib/plugins/config.py:250 +#: ipalib/plugins/config.py:258 #, python-format msgid "%(obj)s default attribute %(attr)s would not be allowed!" msgstr "" -#: ipalib/plugins/config.py:255 -msgid "SELinux user map default user may not be empty" -msgstr "" - -#: ipalib/plugins/config.py:276 -msgid "Default SELinux user map default user not in order list" +#: ipalib/plugins/config.py:289 +msgid "SELinux user map default user not in order list" msgstr "" -#: ipalib/plugins/config.py:284 +#: ipalib/plugins/config.py:297 msgid "Show the current configuration." msgstr "" @@ -2360,7 +2421,7 @@ msgstr[1] "" msgid "Display information about a delegation." msgstr "" -#: ipalib/plugins/dns.py:40 +#: ipalib/plugins/dns.py:39 msgid "" "\n" "Domain Name System (DNS)\n" @@ -2559,248 +2620,243 @@ msgid "" " ipa dnsconfig-mod --forwarder=10.0.0.1\n" msgstr "" -#: ipalib/plugins/dns.py:273 +#: ipalib/plugins/dns.py:272 #, python-format msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" msgstr "" -#: ipalib/plugins/dns.py:276 +#: ipalib/plugins/dns.py:275 msgid "invalid IP address format" msgstr "" -#: ipalib/plugins/dns.py:289 +#: ipalib/plugins/dns.py:288 msgid "invalid IP network format" msgstr "" -#: ipalib/plugins/dns.py:298 +#: ipalib/plugins/dns.py:297 msgid "each ACL element must be terminated with a semicolon" msgstr "" -#: ipalib/plugins/dns.py:307 -#, python-format -msgid "ACL name \"%s\" is not supported" -msgstr "" - -#: ipalib/plugins/dns.py:318 +#: ipalib/plugins/dns.py:314 msgid "invalid address format" msgstr "" -#: ipalib/plugins/dns.py:360 ipalib/plugins/dns.py:403 +#: ipalib/plugins/dns.py:356 ipalib/plugins/dns.py:399 #, python-format msgid "invalid domain-name: %s" msgstr "" -#: ipalib/plugins/dns.py:389 +#: ipalib/plugins/dns.py:385 #, python-format msgid "%(port)s is not a valid port" msgstr "" -#: ipalib/plugins/dns.py:465 +#: ipalib/plugins/dns.py:461 #, python-format msgid "DNS reverse zone for IP address %(addr)s not found" msgstr "" -#: ipalib/plugins/dns.py:477 +#: ipalib/plugins/dns.py:473 #, python-format msgid "DNS zone %(zone)s not found" msgstr "" -#: ipalib/plugins/dns.py:491 +#: ipalib/plugins/dns.py:487 #, python-format msgid "IP address %(ip)s is already assigned in domain %(domain)s." msgstr "" -#: ipalib/plugins/dns.py:504 +#: ipalib/plugins/dns.py:500 #, python-format msgid "" "Reverse record for IP address %(ip)s already exists in reverse zone %(zone)s." msgstr "" -#: ipalib/plugins/dns.py:540 +#: ipalib/plugins/dns.py:536 #, python-format msgid "%s record" msgstr "" -#: ipalib/plugins/dns.py:542 +#: ipalib/plugins/dns.py:538 #, python-format msgid "Comma-separated list of raw %s records" msgstr "" -#: ipalib/plugins/dns.py:543 +#: ipalib/plugins/dns.py:539 #, python-format msgid "%s Record" msgstr "" -#: ipalib/plugins/dns.py:544 +#: ipalib/plugins/dns.py:540 #, python-format msgid "(see RFC %s for details)" msgstr "" -#: ipalib/plugins/dns.py:600 +#: ipalib/plugins/dns.py:596 #, python-format msgid "'%s' is a required part of DNS record" msgstr "" -#: ipalib/plugins/dns.py:607 +#: ipalib/plugins/dns.py:603 msgid "Invalid number of parts!" msgstr "" -#: ipalib/plugins/dns.py:662 +#: ipalib/plugins/dns.py:658 #, python-format msgid "DNS RR type \"%s\" is not supported by bind-dyndb-ldap plugin" msgstr "" -#: ipalib/plugins/dns.py:678 +#: ipalib/plugins/dns.py:674 #, python-format msgid "format must be specified as \"%(format)s\" %(rfcs)s" msgstr "" -#: ipalib/plugins/dns.py:813 +#: ipalib/plugins/dns.py:809 msgid "Create reverse" msgstr "" -#: ipalib/plugins/dns.py:814 +#: ipalib/plugins/dns.py:810 msgid "Create reverse record for this IP Address" msgstr "" -#: ipalib/plugins/dns.py:847 +#: ipalib/plugins/dns.py:845 #, python-format msgid "Cannot create reverse record for \"%(value)s\": %(exc)s" msgstr "" -#: ipalib/plugins/dns.py:856 ipalib/plugins/dns.py:879 -#: ipalib/plugins/host.py:377 +#: ipalib/plugins/dns.py:854 ipalib/plugins/dns.py:877 +#: ipalib/plugins/host.py:390 msgid "IP Address" msgstr "" -#: ipalib/plugins/dns.py:865 ipalib/plugins/dns.py:1476 +#: ipalib/plugins/dns.py:863 ipalib/plugins/dns.py:1474 msgid "Record data" msgstr "" -#: ipalib/plugins/dns.py:888 +#: ipalib/plugins/dns.py:886 msgid "Subtype" msgstr "" -#: ipalib/plugins/dns.py:894 ipalib/plugins/dns.py:933 -#: ipalib/plugins/dns.py:1186 ipalib/plugins/dns.py:1283 -#: ipalib/plugins/dns.py:2750 +#: ipalib/plugins/dns.py:892 ipalib/plugins/dns.py:931 +#: ipalib/plugins/dns.py:1184 ipalib/plugins/dns.py:1281 +#: ipalib/plugins/dns.py:2785 msgid "Hostname" msgstr "" -#: ipalib/plugins/dns.py:908 +#: ipalib/plugins/dns.py:906 msgid "Certificate Type" msgstr "" -#: ipalib/plugins/dns.py:913 ipalib/plugins/dns.py:968 -#: ipalib/plugins/dns.py:1366 +#: ipalib/plugins/dns.py:911 ipalib/plugins/dns.py:966 +#: ipalib/plugins/dns.py:1364 msgid "Key Tag" msgstr "" -#: ipalib/plugins/dns.py:918 ipalib/plugins/dns.py:973 -#: ipalib/plugins/dns.py:1007 ipalib/plugins/dns.py:1344 -#: ipalib/plugins/dns.py:1392 +#: ipalib/plugins/dns.py:916 ipalib/plugins/dns.py:971 +#: ipalib/plugins/dns.py:1005 ipalib/plugins/dns.py:1342 +#: ipalib/plugins/dns.py:1390 msgid "Algorithm" msgstr "" -#: ipalib/plugins/dns.py:923 +#: ipalib/plugins/dns.py:921 msgid "Certificate/CRL" msgstr "" -#: ipalib/plugins/dns.py:934 +#: ipalib/plugins/dns.py:932 msgid "A hostname which this alias hostname points to" msgstr "" -#: ipalib/plugins/dns.py:954 ipalib/plugins/dns.py:1320 -#: ipalib/plugins/internal.py:488 +#: ipalib/plugins/dns.py:952 ipalib/plugins/dns.py:1318 +#: ipalib/plugins/internal.py:501 msgid "Target" msgstr "" -#: ipalib/plugins/dns.py:978 +#: ipalib/plugins/dns.py:976 msgid "Digest Type" msgstr "" -#: ipalib/plugins/dns.py:983 +#: ipalib/plugins/dns.py:981 msgid "Digest" msgstr "" -#: ipalib/plugins/dns.py:997 ipalib/plugins/dns.py:1262 +#: ipalib/plugins/dns.py:995 ipalib/plugins/dns.py:1260 msgid "Flags" msgstr "" -#: ipalib/plugins/dns.py:1002 +#: ipalib/plugins/dns.py:1000 msgid "Protocol" msgstr "" -#: ipalib/plugins/dns.py:1012 +#: ipalib/plugins/dns.py:1010 msgid "Public Key" msgstr "" -#: ipalib/plugins/dns.py:1026 ipalib/plugins/dns.py:1167 -#: ipalib/plugins/dns.py:1256 +#: ipalib/plugins/dns.py:1024 ipalib/plugins/dns.py:1165 +#: ipalib/plugins/dns.py:1254 msgid "Preference" msgstr "" -#: ipalib/plugins/dns.py:1027 ipalib/plugins/dns.py:1168 +#: ipalib/plugins/dns.py:1025 ipalib/plugins/dns.py:1166 msgid "Preference given to this exchanger. Lower values are more preferred" msgstr "" -#: ipalib/plugins/dns.py:1033 ipalib/plugins/dns.py:1174 +#: ipalib/plugins/dns.py:1031 ipalib/plugins/dns.py:1172 msgid "Exchanger" msgstr "" -#: ipalib/plugins/dns.py:1034 +#: ipalib/plugins/dns.py:1032 msgid "A host willing to act as a key exchanger" msgstr "" -#: ipalib/plugins/dns.py:1043 +#: ipalib/plugins/dns.py:1041 msgid "Degrees Latitude" msgstr "" -#: ipalib/plugins/dns.py:1048 +#: ipalib/plugins/dns.py:1046 msgid "Minutes Latitude" msgstr "" -#: ipalib/plugins/dns.py:1053 +#: ipalib/plugins/dns.py:1051 msgid "Seconds Latitude" msgstr "" -#: ipalib/plugins/dns.py:1059 +#: ipalib/plugins/dns.py:1057 msgid "Direction Latitude" msgstr "" -#: ipalib/plugins/dns.py:1063 +#: ipalib/plugins/dns.py:1061 msgid "Degrees Longitude" msgstr "" -#: ipalib/plugins/dns.py:1068 +#: ipalib/plugins/dns.py:1066 msgid "Minutes Longitude" msgstr "" -#: ipalib/plugins/dns.py:1073 +#: ipalib/plugins/dns.py:1071 msgid "Seconds Longitude" msgstr "" -#: ipalib/plugins/dns.py:1079 +#: ipalib/plugins/dns.py:1077 msgid "Direction Longitude" msgstr "" -#: ipalib/plugins/dns.py:1083 +#: ipalib/plugins/dns.py:1081 msgid "Altitude" msgstr "" -#: ipalib/plugins/dns.py:1089 +#: ipalib/plugins/dns.py:1087 msgid "Size" msgstr "" -#: ipalib/plugins/dns.py:1095 +#: ipalib/plugins/dns.py:1093 msgid "Horizontal Precision" msgstr "" -#: ipalib/plugins/dns.py:1101 +#: ipalib/plugins/dns.py:1099 msgid "Vertical Precision" msgstr "" -#: ipalib/plugins/dns.py:1108 +#: ipalib/plugins/dns.py:1106 msgid "" "format must be specified as\n" " \"d1 [m1 [s1]] {\"N\"|\"S\"} d2 [m2 [s2]] {\"E\"|\"W\"} alt[\"m\"] [siz" @@ -2815,495 +2871,499 @@ msgid "" " See RFC 1876 for details" msgstr "" -#: ipalib/plugins/dns.py:1157 +#: ipalib/plugins/dns.py:1155 #, python-format msgid "'%(required)s' must not be empty when '%(name)s' is set" msgstr "" -#: ipalib/plugins/dns.py:1175 +#: ipalib/plugins/dns.py:1173 msgid "A host willing to act as a mail exchanger" msgstr "" -#: ipalib/plugins/dns.py:1193 +#: ipalib/plugins/dns.py:1191 msgid "" "format must be specified as \"NEXT TYPE1 [TYPE2 [TYPE3 [...]]]\" (see RFC " "4034 for details)" msgstr "" -#: ipalib/plugins/dns.py:1200 +#: ipalib/plugins/dns.py:1198 msgid "Next Domain Name" msgstr "" -#: ipalib/plugins/dns.py:1203 +#: ipalib/plugins/dns.py:1201 msgid "Type Map" msgstr "" -#: ipalib/plugins/dns.py:1243 +#: ipalib/plugins/dns.py:1241 msgid "flags must be one of \"S\", \"A\", \"U\", or \"P\"" msgstr "" -#: ipalib/plugins/dns.py:1251 +#: ipalib/plugins/dns.py:1249 msgid "Order" msgstr "" -#: ipalib/plugins/dns.py:1266 ipalib/plugins/hbactest.py:194 -#: ipalib/plugins/internal.py:516 ipalib/plugins/service.py:239 +#: ipalib/plugins/dns.py:1264 ipalib/plugins/hbactest.py:194 +#: ipalib/plugins/internal.py:540 ipalib/plugins/service.py:237 msgid "Service" msgstr "" -#: ipalib/plugins/dns.py:1269 +#: ipalib/plugins/dns.py:1267 msgid "Regular Expression" msgstr "" -#: ipalib/plugins/dns.py:1272 +#: ipalib/plugins/dns.py:1270 msgid "Replacement" msgstr "" -#: ipalib/plugins/dns.py:1284 +#: ipalib/plugins/dns.py:1282 msgid "The hostname this reverse record points to" msgstr "" -#: ipalib/plugins/dns.py:1304 ipalib/plugins/pwpolicy.py:263 +#: ipalib/plugins/dns.py:1302 ipalib/plugins/pwpolicy.py:265 msgid "Priority" msgstr "" -#: ipalib/plugins/dns.py:1309 +#: ipalib/plugins/dns.py:1307 msgid "Weight" msgstr "" -#: ipalib/plugins/dns.py:1314 +#: ipalib/plugins/dns.py:1312 msgid "Port" msgstr "" -#: ipalib/plugins/dns.py:1321 +#: ipalib/plugins/dns.py:1319 msgid "" "The domain name of the target host or '.' if the service is decidedly not " "available at this domain" msgstr "" -#: ipalib/plugins/dns.py:1330 +#: ipalib/plugins/dns.py:1328 msgid "the value does not follow \"YYYYMMDDHHMMSS\" time format" msgstr "" -#: ipalib/plugins/dns.py:1340 +#: ipalib/plugins/dns.py:1338 msgid "Type Covered" msgstr "" -#: ipalib/plugins/dns.py:1349 +#: ipalib/plugins/dns.py:1347 msgid "Labels" msgstr "" -#: ipalib/plugins/dns.py:1354 +#: ipalib/plugins/dns.py:1352 msgid "Original TTL" msgstr "" -#: ipalib/plugins/dns.py:1359 +#: ipalib/plugins/dns.py:1357 msgid "Signature Expiration" msgstr "" -#: ipalib/plugins/dns.py:1363 +#: ipalib/plugins/dns.py:1361 msgid "Signature Inception" msgstr "" -#: ipalib/plugins/dns.py:1371 +#: ipalib/plugins/dns.py:1369 msgid "Signer's Name" msgstr "" -#: ipalib/plugins/dns.py:1374 +#: ipalib/plugins/dns.py:1372 msgid "Signature" msgstr "" -#: ipalib/plugins/dns.py:1397 +#: ipalib/plugins/dns.py:1395 msgid "Fingerprint Type" msgstr "" -#: ipalib/plugins/dns.py:1402 +#: ipalib/plugins/dns.py:1400 msgid "Fingerprint" msgstr "" -#: ipalib/plugins/dns.py:1423 +#: ipalib/plugins/dns.py:1421 msgid "Text Data" msgstr "" -#: ipalib/plugins/dns.py:1470 +#: ipalib/plugins/dns.py:1468 msgid "Records" msgstr "" -#: ipalib/plugins/dns.py:1473 +#: ipalib/plugins/dns.py:1471 msgid "Record type" msgstr "" -#: ipalib/plugins/dns.py:1517 +#: ipalib/plugins/dns.py:1515 #, python-format msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record" msgstr "" -#: ipalib/plugins/dns.py:1538 +#: ipalib/plugins/dns.py:1533 +msgid "Managedby permission" +msgstr "" + +#: ipalib/plugins/dns.py:1542 msgid "DNS zone" msgstr "" -#: ipalib/plugins/dns.py:1539 +#: ipalib/plugins/dns.py:1543 msgid "DNS zones" msgstr "" -#: ipalib/plugins/dns.py:1548 +#: ipalib/plugins/dns.py:1552 msgid "DNS Zones" msgstr "" -#: ipalib/plugins/dns.py:1549 +#: ipalib/plugins/dns.py:1553 msgid "DNS Zone" msgstr "" -#: ipalib/plugins/dns.py:1555 +#: ipalib/plugins/dns.py:1559 msgid "Zone name" msgstr "" -#: ipalib/plugins/dns.py:1556 +#: ipalib/plugins/dns.py:1560 msgid "Zone name (FQDN)" msgstr "" -#: ipalib/plugins/dns.py:1562 +#: ipalib/plugins/dns.py:1566 msgid "Reverse zone IP network" msgstr "" -#: ipalib/plugins/dns.py:1563 +#: ipalib/plugins/dns.py:1567 msgid "IP network to create reverse zone name from" msgstr "" -#: ipalib/plugins/dns.py:1568 +#: ipalib/plugins/dns.py:1572 msgid "Authoritative nameserver" msgstr "" -#: ipalib/plugins/dns.py:1569 +#: ipalib/plugins/dns.py:1573 msgid "Authoritative nameserver domain name" msgstr "" -#: ipalib/plugins/dns.py:1574 ipalib/plugins/dns.py:1575 +#: ipalib/plugins/dns.py:1578 ipalib/plugins/dns.py:1579 msgid "Administrator e-mail address" msgstr "" -#: ipalib/plugins/dns.py:1581 +#: ipalib/plugins/dns.py:1585 msgid "SOA serial" msgstr "" -#: ipalib/plugins/dns.py:1582 +#: ipalib/plugins/dns.py:1586 msgid "SOA record serial number" msgstr "" -#: ipalib/plugins/dns.py:1589 +#: ipalib/plugins/dns.py:1594 msgid "SOA refresh" msgstr "" -#: ipalib/plugins/dns.py:1590 +#: ipalib/plugins/dns.py:1595 msgid "SOA record refresh time" msgstr "" -#: ipalib/plugins/dns.py:1597 +#: ipalib/plugins/dns.py:1603 msgid "SOA retry" msgstr "" -#: ipalib/plugins/dns.py:1598 +#: ipalib/plugins/dns.py:1604 msgid "SOA record retry time" msgstr "" -#: ipalib/plugins/dns.py:1605 +#: ipalib/plugins/dns.py:1612 msgid "SOA expire" msgstr "" -#: ipalib/plugins/dns.py:1606 +#: ipalib/plugins/dns.py:1613 msgid "SOA record expire time" msgstr "" -#: ipalib/plugins/dns.py:1613 +#: ipalib/plugins/dns.py:1621 msgid "SOA minimum" msgstr "" -#: ipalib/plugins/dns.py:1614 +#: ipalib/plugins/dns.py:1622 msgid "How long should negative responses be cached" msgstr "" -#: ipalib/plugins/dns.py:1622 +#: ipalib/plugins/dns.py:1630 msgid "SOA time to live" msgstr "" -#: ipalib/plugins/dns.py:1623 +#: ipalib/plugins/dns.py:1631 msgid "SOA record time to live" msgstr "" -#: ipalib/plugins/dns.py:1627 +#: ipalib/plugins/dns.py:1637 msgid "SOA class" msgstr "" -#: ipalib/plugins/dns.py:1628 +#: ipalib/plugins/dns.py:1638 msgid "SOA record class" msgstr "" -#: ipalib/plugins/dns.py:1633 ipalib/plugins/dns.py:1634 +#: ipalib/plugins/dns.py:1643 ipalib/plugins/dns.py:1644 msgid "BIND update policy" msgstr "" -#: ipalib/plugins/dns.py:1640 +#: ipalib/plugins/dns.py:1650 msgid "Active zone" msgstr "" -#: ipalib/plugins/dns.py:1641 +#: ipalib/plugins/dns.py:1651 msgid "Is zone active?" msgstr "" -#: ipalib/plugins/dns.py:1647 +#: ipalib/plugins/dns.py:1657 msgid "Dynamic update" msgstr "" -#: ipalib/plugins/dns.py:1648 +#: ipalib/plugins/dns.py:1658 msgid "Allow dynamic updates." msgstr "" -#: ipalib/plugins/dns.py:1657 +#: ipalib/plugins/dns.py:1667 msgid "Allow query" msgstr "" -#: ipalib/plugins/dns.py:1658 +#: ipalib/plugins/dns.py:1668 msgid "" "Semicolon separated list of IP addresses or networks which are allowed to " "issue queries" msgstr "" -#: ipalib/plugins/dns.py:1666 +#: ipalib/plugins/dns.py:1676 msgid "Allow transfer" msgstr "" -#: ipalib/plugins/dns.py:1667 +#: ipalib/plugins/dns.py:1677 msgid "" "Semicolon separated list of IP addresses or networks which are allowed to " "transfer the zone" msgstr "" -#: ipalib/plugins/dns.py:1674 +#: ipalib/plugins/dns.py:1684 msgid "Zone forwarders" msgstr "" -#: ipalib/plugins/dns.py:1675 +#: ipalib/plugins/dns.py:1685 msgid "" "A list of per-zone forwarders. A custom port can be specified for each " "forwarder using a standard format \"IP_ADDRESS port PORT\"" msgstr "" -#: ipalib/plugins/dns.py:1681 ipalib/plugins/dns.py:2820 +#: ipalib/plugins/dns.py:1691 ipalib/plugins/dns.py:2855 msgid "Forward policy" msgstr "" -#: ipalib/plugins/dns.py:1686 ipalib/plugins/dns.py:2825 +#: ipalib/plugins/dns.py:1696 ipalib/plugins/dns.py:2860 msgid "Allow PTR sync" msgstr "" -#: ipalib/plugins/dns.py:1687 +#: ipalib/plugins/dns.py:1697 msgid "" "Allow synchronization of forward (A, AAAA) and reverse (PTR) records in the " "zone" msgstr "" -#: ipalib/plugins/dns.py:1717 +#: ipalib/plugins/dns.py:1727 msgid "Create new DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:1721 ipalib/plugins/dns.py:2188 -#: ipalib/plugins/host.py:369 ipalib/plugins/permission.py:293 -#: ipalib/plugins/service.py:268 +#: ipalib/plugins/dns.py:1732 ipalib/plugins/dns.py:2214 +#: ipalib/plugins/host.py:382 ipalib/plugins/permission.py:297 +#: ipalib/plugins/service.py:273 msgid "Force" msgstr "" -#: ipalib/plugins/dns.py:1722 +#: ipalib/plugins/dns.py:1733 msgid "Force DNS zone creation even if nameserver not in DNS." msgstr "" -#: ipalib/plugins/dns.py:1725 +#: ipalib/plugins/dns.py:1736 msgid "Add the nameserver to DNS with this IP address" msgstr "" -#: ipalib/plugins/dns.py:1731 +#: ipalib/plugins/dns.py:1743 msgid "DNS is not configured" msgstr "" -#: ipalib/plugins/dns.py:1741 +#: ipalib/plugins/dns.py:1753 msgid "Nameserver address is not a fully qualified domain name" msgstr "" -#: ipalib/plugins/dns.py:1767 +#: ipalib/plugins/dns.py:1780 msgid "Delete DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:1781 +#: ipalib/plugins/dns.py:1794 msgid "Modify DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:1787 +#: ipalib/plugins/dns.py:1802 msgid "Search for DNS zones (SOA records)." msgstr "" -#: ipalib/plugins/dns.py:1809 +#: ipalib/plugins/dns.py:1826 msgid "Forward zones only" msgstr "" -#: ipalib/plugins/dns.py:1811 +#: ipalib/plugins/dns.py:1828 msgid "Search for forward zones only" msgstr "" -#: ipalib/plugins/dns.py:1830 +#: ipalib/plugins/dns.py:1848 msgid "Display information about a DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/dns.py:1836 +#: ipalib/plugins/dns.py:1856 msgid "Disable DNS Zone." msgstr "" -#: ipalib/plugins/dns.py:1839 +#: ipalib/plugins/dns.py:1859 #, python-format msgid "Disabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:1857 +#: ipalib/plugins/dns.py:1877 msgid "Enable DNS Zone." msgstr "" -#: ipalib/plugins/dns.py:1860 +#: ipalib/plugins/dns.py:1880 #, python-format msgid "Enabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:1877 +#: ipalib/plugins/dns.py:1897 msgid "Add a permission for per-zone access delegation." msgstr "" -#: ipalib/plugins/dns.py:1880 +#: ipalib/plugins/dns.py:1900 #, python-format msgid "Added system permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:1913 +#: ipalib/plugins/dns.py:1933 msgid "Remove a permission for per-zone access delegation." msgstr "" -#: ipalib/plugins/dns.py:1916 +#: ipalib/plugins/dns.py:1936 #, python-format msgid "Removed system permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:1947 +#: ipalib/plugins/dns.py:1967 msgid "DNS resource record" msgstr "" -#: ipalib/plugins/dns.py:1948 +#: ipalib/plugins/dns.py:1968 msgid "DNS resource records" msgstr "" -#: ipalib/plugins/dns.py:1953 +#: ipalib/plugins/dns.py:1973 msgid "DNS Resource Records" msgstr "" -#: ipalib/plugins/dns.py:1954 +#: ipalib/plugins/dns.py:1974 msgid "DNS Resource Record" msgstr "" -#: ipalib/plugins/dns.py:1960 ipalib/plugins/dns.py:1961 +#: ipalib/plugins/dns.py:1980 ipalib/plugins/dns.py:1981 msgid "Record name" msgstr "" -#: ipalib/plugins/dns.py:1966 ipalib/plugins/dns.py:1967 +#: ipalib/plugins/dns.py:1986 ipalib/plugins/dns.py:1987 msgid "Time to live" msgstr "" -#: ipalib/plugins/dns.py:1971 +#: ipalib/plugins/dns.py:1991 msgid "Class" msgstr "" -#: ipalib/plugins/dns.py:1972 +#: ipalib/plugins/dns.py:1992 msgid "DNS class" msgstr "" -#: ipalib/plugins/dns.py:1978 +#: ipalib/plugins/dns.py:1998 msgid "Structured" msgstr "" -#: ipalib/plugins/dns.py:1979 +#: ipalib/plugins/dns.py:1999 msgid "Parse all raw DNS records and return them in a structured way" msgstr "" -#: ipalib/plugins/dns.py:2008 +#: ipalib/plugins/dns.py:2030 #, python-format msgid "" "Reverse zone for PTR record should be a sub-zone of one the following fully " "qualified domains: %s" msgstr "" -#: ipalib/plugins/dns.py:2014 +#: ipalib/plugins/dns.py:2036 #, python-format msgid "" "Reverse zone %(name)s requires exactly %(count)d IP address components, " "%(user_count)d given" msgstr "" -#: ipalib/plugins/dns.py:2175 +#: ipalib/plugins/dns.py:2201 msgid "" "CNAME record is not allowed to coexist with any other records except PTR" msgstr "" -#: ipalib/plugins/dns.py:2182 +#: ipalib/plugins/dns.py:2208 msgid "Add new DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:2190 +#: ipalib/plugins/dns.py:2216 msgid "force NS record creation even if its hostname is not in DNS" msgstr "" -#: ipalib/plugins/dns.py:2227 +#: ipalib/plugins/dns.py:2253 msgid "Please choose a type of DNS resource record to be added" msgstr "" -#: ipalib/plugins/dns.py:2228 +#: ipalib/plugins/dns.py:2254 #, python-format msgid "The most common types for this type of zone are: %s\n" msgstr "" -#: ipalib/plugins/dns.py:2233 +#: ipalib/plugins/dns.py:2259 msgid "DNS resource record type" msgstr "" -#: ipalib/plugins/dns.py:2249 +#: ipalib/plugins/dns.py:2275 #, python-format msgid "Invalid or unsupported type. Allowed values are: %s" msgstr "" -#: ipalib/plugins/dns.py:2276 +#: ipalib/plugins/dns.py:2303 #, python-format msgid "Raw value of a DNS record was already set by \"%(name)s\" option" msgstr "" -#: ipalib/plugins/dns.py:2372 +#: ipalib/plugins/dns.py:2400 msgid "Modify a DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:2388 +#: ipalib/plugins/dns.py:2417 msgid "DNS zone root record cannot be renamed" msgstr "" -#: ipalib/plugins/dns.py:2406 +#: ipalib/plugins/dns.py:2435 msgid "DNS records can be only updated one at a time" msgstr "" -#: ipalib/plugins/dns.py:2488 +#: ipalib/plugins/dns.py:2519 msgid "No option to modify specific record provided." msgstr "" -#: ipalib/plugins/dns.py:2491 ipalib/plugins/dns.py:2661 +#: ipalib/plugins/dns.py:2522 ipalib/plugins/dns.py:2694 msgid "Current DNS record contents:\n" msgstr "" -#: ipalib/plugins/dns.py:2513 +#: ipalib/plugins/dns.py:2544 #, python-format msgid "Modify %(name)s '%(value)s'?" msgstr "" -#: ipalib/plugins/dns.py:2521 +#: ipalib/plugins/dns.py:2552 #, python-format msgid "" "%(count)d %(type)s record skipped. Only one value per DNS record type can be " @@ -3314,104 +3374,104 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/dns.py:2533 +#: ipalib/plugins/dns.py:2564 #, python-format msgid "Deleted record \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2540 +#: ipalib/plugins/dns.py:2571 msgid "Delete DNS resource record." msgstr "" -#: ipalib/plugins/dns.py:2542 +#: ipalib/plugins/dns.py:2573 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:2548 +#: ipalib/plugins/dns.py:2579 msgid "Delete all associated records" msgstr "" -#: ipalib/plugins/dns.py:2616 +#: ipalib/plugins/dns.py:2647 #, python-format msgid "Zone record '%s' cannot be deleted" msgstr "" -#: ipalib/plugins/dns.py:2653 +#: ipalib/plugins/dns.py:2686 msgid "No option to delete specific record provided." msgstr "" -#: ipalib/plugins/dns.py:2654 +#: ipalib/plugins/dns.py:2687 msgid "Delete all?" msgstr "" -#: ipalib/plugins/dns.py:2682 +#: ipalib/plugins/dns.py:2715 #, python-format msgid "Delete %(name)s '%(value)s'?" msgstr "" -#: ipalib/plugins/dns.py:2693 +#: ipalib/plugins/dns.py:2726 msgid "Display DNS resource." msgstr "" -#: ipalib/plugins/dns.py:2709 +#: ipalib/plugins/dns.py:2743 msgid "Search for DNS resources." msgstr "" -#: ipalib/plugins/dns.py:2743 +#: ipalib/plugins/dns.py:2778 msgid "Resolve a host name in DNS." msgstr "" -#: ipalib/plugins/dns.py:2746 +#: ipalib/plugins/dns.py:2781 #, python-format msgid "Found '%(value)s'" msgstr "" -#: ipalib/plugins/dns.py:2763 +#: ipalib/plugins/dns.py:2798 #, python-format msgid "Host '%(host)s' not found" msgstr "" -#: ipalib/plugins/dns.py:2800 +#: ipalib/plugins/dns.py:2835 msgid "DNS configuration options" msgstr "" -#: ipalib/plugins/dns.py:2806 ipalib/plugins/dns.py:2807 +#: ipalib/plugins/dns.py:2841 ipalib/plugins/dns.py:2842 msgid "DNS Global Configuration" msgstr "" -#: ipalib/plugins/dns.py:2813 +#: ipalib/plugins/dns.py:2848 msgid "Global forwarders" msgstr "" -#: ipalib/plugins/dns.py:2814 +#: ipalib/plugins/dns.py:2849 msgid "" "A list of global forwarders. A custom port can be specified for each " "forwarder using a standard format \"IP_ADDRESS port PORT\"" msgstr "" -#: ipalib/plugins/dns.py:2826 +#: ipalib/plugins/dns.py:2861 msgid "Allow synchronization of forward (A, AAAA) and reverse (PTR) records" msgstr "" -#: ipalib/plugins/dns.py:2830 +#: ipalib/plugins/dns.py:2865 msgid "Zone refresh interval" msgstr "" -#: ipalib/plugins/dns.py:2831 +#: ipalib/plugins/dns.py:2866 msgid "An interval between regular polls of the name server for new DNS zones" msgstr "" -#: ipalib/plugins/dns.py:2847 +#: ipalib/plugins/dns.py:2882 msgid "Global DNS configuration is empty" msgstr "" -#: ipalib/plugins/dns.py:2853 +#: ipalib/plugins/dns.py:2888 msgid "Modify global DNS configuration." msgstr "" -#: ipalib/plugins/dns.py:2864 +#: ipalib/plugins/dns.py:2899 msgid "Show the current global DNS configuration." msgstr "" @@ -3452,116 +3512,133 @@ msgid "" "Changes to /etc/rhsm/rhsm.conf require a restart of the httpd service.\n" msgstr "" -#: ipalib/plugins/entitle.py:183 -msgid "entitlement" +#: ipalib/plugins/entitle.py:151 ipalib/plugins/virtual.py:65 +msgid "not allowed to perform this command" msgstr "" #: ipalib/plugins/entitle.py:184 +msgid "entitlement" +msgstr "" + +#: ipalib/plugins/entitle.py:185 msgid "entitlements" msgstr "" -#: ipalib/plugins/entitle.py:190 +#: ipalib/plugins/entitle.py:191 msgid "Entitlements" msgstr "" -#: ipalib/plugins/entitle.py:191 +#: ipalib/plugins/entitle.py:192 msgid "Entitlement" msgstr "" -#: ipalib/plugins/entitle.py:208 +#: ipalib/plugins/entitle.py:209 msgid "Display current entitlements." msgstr "" -#: ipalib/plugins/entitle.py:214 ipalib/plugins/entitle.py:598 +#: ipalib/plugins/entitle.py:215 ipalib/plugins/entitle.py:604 msgid "UUID" msgstr "" -#: ipalib/plugins/entitle.py:217 ipalib/plugins/entitle.py:304 -#: ipalib/plugins/entitle.py:384 ipalib/plugins/entitle.py:571 -#: ipalib/plugins/entitle.py:684 ipalib/plugins/internal.py:399 +#: ipalib/plugins/entitle.py:218 ipalib/plugins/entitle.py:305 +#: ipalib/plugins/entitle.py:389 ipalib/plugins/entitle.py:577 +#: ipalib/plugins/entitle.py:691 ipalib/plugins/internal.py:405 msgid "Product" msgstr "" -#: ipalib/plugins/entitle.py:220 ipalib/plugins/entitle.py:284 -#: ipalib/plugins/entitle.py:294 ipalib/plugins/entitle.py:387 -#: ipalib/plugins/entitle.py:574 ipalib/plugins/entitle.py:674 +#: ipalib/plugins/entitle.py:221 ipalib/plugins/entitle.py:285 +#: ipalib/plugins/entitle.py:295 ipalib/plugins/entitle.py:392 +#: ipalib/plugins/entitle.py:580 ipalib/plugins/entitle.py:681 msgid "Quantity" msgstr "" -#: ipalib/plugins/entitle.py:223 ipalib/plugins/entitle.py:307 -#: ipalib/plugins/entitle.py:577 ipalib/plugins/entitle.py:687 -#: ipalib/plugins/internal.py:390 +#: ipalib/plugins/entitle.py:224 ipalib/plugins/entitle.py:308 +#: ipalib/plugins/entitle.py:583 ipalib/plugins/entitle.py:694 +#: ipalib/plugins/internal.py:396 msgid "Consumed" msgstr "" -#: ipalib/plugins/entitle.py:276 +#: ipalib/plugins/entitle.py:277 msgid "Consume an entitlement." msgstr "" -#: ipalib/plugins/entitle.py:280 +#: ipalib/plugins/entitle.py:281 #, python-format msgid "Consumed %(value)s entitlement(s)." msgstr "" -#: ipalib/plugins/entitle.py:378 +#: ipalib/plugins/entitle.py:344 +#, python-format +msgid "There are only %d entitlements left" +msgstr "" + +#: ipalib/plugins/entitle.py:383 msgid "Retrieve the entitlement certs." msgstr "" -#: ipalib/plugins/entitle.py:390 ipalib/plugins/internal.py:402 +#: ipalib/plugins/entitle.py:395 ipalib/plugins/internal.py:408 msgid "Start" msgstr "" -#: ipalib/plugins/entitle.py:393 ipalib/plugins/internal.py:393 +#: ipalib/plugins/entitle.py:398 ipalib/plugins/internal.py:399 msgid "End" msgstr "" -#: ipalib/plugins/entitle.py:396 ipalib/plugins/host.py:152 -#: ipalib/plugins/internal.py:337 ipalib/plugins/service.py:97 +#: ipalib/plugins/entitle.py:401 ipalib/plugins/host.py:162 +#: ipalib/plugins/internal.py:342 ipalib/plugins/service.py:97 msgid "Serial Number" msgstr "" -#: ipalib/plugins/entitle.py:431 ipalib/plugins/entitle.py:622 -#: ipalib/plugins/entitle.py:624 +#: ipalib/plugins/entitle.py:436 ipalib/plugins/entitle.py:629 +#: ipalib/plugins/entitle.py:631 msgid "Not an entitlement certificate" msgstr "" -#: ipalib/plugins/entitle.py:456 +#: ipalib/plugins/entitle.py:461 msgid "Search for entitlement accounts." msgstr "" -#: ipalib/plugins/entitle.py:469 +#: ipalib/plugins/entitle.py:474 msgid "Register to the entitlement system." msgstr "" -#: ipalib/plugins/entitle.py:473 +#: ipalib/plugins/entitle.py:478 msgid "Registered to entitlement server." msgstr "" -#: ipalib/plugins/entitle.py:477 ipalib/plugins/internal.py:274 +#: ipalib/plugins/entitle.py:482 ipalib/plugins/internal.py:277 msgid "Username" msgstr "" -#: ipalib/plugins/entitle.py:484 +#: ipalib/plugins/entitle.py:489 msgid "Enrollment UUID (not implemented)" msgstr "" -#: ipalib/plugins/entitle.py:489 +#: ipalib/plugins/entitle.py:494 msgid "Registration password" msgstr "" -#: ipalib/plugins/entitle.py:567 +#: ipalib/plugins/entitle.py:514 +msgid "No permission to register" +msgstr "" + +#: ipalib/plugins/entitle.py:520 +msgid "Registering to specific UUID is not supported yet." +msgstr "" + +#: ipalib/plugins/entitle.py:573 msgid "Import an entitlement certificate." msgstr "" -#: ipalib/plugins/entitle.py:599 +#: ipalib/plugins/entitle.py:605 msgid "Enrollment UUID" msgstr "" -#: ipalib/plugins/entitle.py:663 +#: ipalib/plugins/entitle.py:670 msgid "Re-sync the local entitlement cache with the entitlement server." msgstr "" -#: ipalib/plugins/entitle.py:667 +#: ipalib/plugins/entitle.py:674 msgid "Entitlement(s) synchronized." msgstr "" @@ -3617,8 +3694,8 @@ msgid "" " ipa group-show localadmins\n" msgstr "" -#: ipalib/plugins/group.py:88 ipalib/plugins/group.py:188 -#: ipalib/plugins/group.py:376 ipalib/plugins/user.py:550 +#: ipalib/plugins/group.py:88 ipalib/plugins/group.py:190 +#: ipalib/plugins/group.py:383 ipalib/plugins/user.py:188 msgid "group" msgstr "" @@ -3627,7 +3704,7 @@ msgid "groups" msgstr "" #: ipalib/plugins/group.py:108 ipalib/plugins/hbacrule.py:195 -#: ipalib/plugins/internal.py:481 ipalib/plugins/selinuxusermap.py:184 +#: ipalib/plugins/internal.py:494 ipalib/plugins/selinuxusermap.py:188 #: ipalib/plugins/sudorule.py:159 msgid "User Groups" msgstr "" @@ -3644,7 +3721,7 @@ msgstr "" msgid "Group description" msgstr "" -#: ipalib/plugins/group.py:128 ipalib/plugins/user.py:290 +#: ipalib/plugins/group.py:128 ipalib/plugins/user.py:312 msgid "GID" msgstr "" @@ -3669,72 +3746,72 @@ msgstr "" msgid "Allow adding external non-IPA members from trusted domains" msgstr "" -#: ipalib/plugins/group.py:174 +#: ipalib/plugins/group.py:175 msgid "Delete group." msgstr "" -#: ipalib/plugins/group.py:176 +#: ipalib/plugins/group.py:177 #, python-format msgid "Deleted group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:189 +#: ipalib/plugins/group.py:191 msgid "privileged group" msgstr "" -#: ipalib/plugins/group.py:206 +#: ipalib/plugins/group.py:209 msgid "Modify a group." msgstr "" -#: ipalib/plugins/group.py:208 +#: ipalib/plugins/group.py:211 #, python-format msgid "Modified group \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:213 +#: ipalib/plugins/group.py:216 msgid "change to a POSIX group" msgstr "" -#: ipalib/plugins/group.py:217 +#: ipalib/plugins/group.py:220 msgid "change to support external non-IPA members from trusted domains" msgstr "" -#: ipalib/plugins/group.py:262 +#: ipalib/plugins/group.py:266 msgid "Search for groups." msgstr "" -#: ipalib/plugins/group.py:267 +#: ipalib/plugins/group.py:271 #, python-format msgid "%(count)d group matched" msgid_plural "%(count)d groups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/group.py:273 +#: ipalib/plugins/group.py:277 msgid "search for private groups" msgstr "" -#: ipalib/plugins/group.py:303 +#: ipalib/plugins/group.py:308 msgid "Display information about a named group." msgstr "" -#: ipalib/plugins/group.py:309 +#: ipalib/plugins/group.py:314 msgid "Add members to a group." msgstr "" -#: ipalib/plugins/group.py:314 ipalib/plugins/group.py:362 +#: ipalib/plugins/group.py:319 ipalib/plugins/group.py:368 msgid "External member" msgstr "" -#: ipalib/plugins/group.py:315 ipalib/plugins/group.py:363 +#: ipalib/plugins/group.py:320 ipalib/plugins/group.py:369 msgid "comma-separated SIDs of members of a trusted domain" msgstr "" -#: ipalib/plugins/group.py:325 +#: ipalib/plugins/group.py:331 msgid "AD Trust" msgstr "" -#: ipalib/plugins/group.py:326 +#: ipalib/plugins/group.py:332 msgid "" "Cannot perform external member validation without Samba 4 support " "installed.\n" @@ -3742,50 +3819,50 @@ msgid "" "ad sub-package of IPA on the server" msgstr "" -#: ipalib/plugins/group.py:330 ipalib/plugins/trust.py:164 -#: ipalib/plugins/trust.py:175 ipalib/plugins/trust.py:188 -#: ipalib/plugins/trust.py:193 ipalib/plugins/trust.py:199 -#: ipalib/plugins/trust.py:209 +#: ipalib/plugins/group.py:336 ipalib/plugins/trust.py:238 +#: ipalib/plugins/trust.py:249 ipalib/plugins/trust.py:262 +#: ipalib/plugins/trust.py:267 ipalib/plugins/trust.py:273 +#: ipalib/plugins/trust.py:283 msgid "AD Trust setup" msgstr "" -#: ipalib/plugins/group.py:331 +#: ipalib/plugins/group.py:337 msgid "" "Cannot perform join operation without own domain configured.\n" " Make sure you have run ipa-adtrust-install " "on the IPA server first" msgstr "" -#: ipalib/plugins/group.py:341 +#: ipalib/plugins/group.py:347 msgid "external member" msgstr "" -#: ipalib/plugins/group.py:342 +#: ipalib/plugins/group.py:348 msgid "values are not recognized as valid SIDs from trusted domain" msgstr "" -#: ipalib/plugins/group.py:357 +#: ipalib/plugins/group.py:363 msgid "Remove members from a group." msgstr "" -#: ipalib/plugins/group.py:397 +#: ipalib/plugins/group.py:405 msgid "Detach a managed group from a user." msgstr "" -#: ipalib/plugins/group.py:400 +#: ipalib/plugins/group.py:408 #, python-format msgid "Detached group \"%(value)s\" from user \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:421 +#: ipalib/plugins/group.py:429 msgid "not allowed to modify user entries" msgstr "" -#: ipalib/plugins/group.py:427 +#: ipalib/plugins/group.py:435 msgid "not allowed to modify group entries" msgstr "" -#: ipalib/plugins/group.py:446 +#: ipalib/plugins/group.py:454 msgid "Not a managed group" msgstr "" @@ -3860,11 +3937,11 @@ msgstr "" msgid "HBAC Rules" msgstr "" -#: ipalib/plugins/hbacrule.py:135 ipalib/plugins/selinuxusermap.py:156 +#: ipalib/plugins/hbacrule.py:135 ipalib/plugins/selinuxusermap.py:160 msgid "HBAC Rule" msgstr "" -#: ipalib/plugins/hbacrule.py:140 ipalib/plugins/selinuxusermap.py:147 +#: ipalib/plugins/hbacrule.py:140 ipalib/plugins/selinuxusermap.py:151 #: ipalib/plugins/sudorule.py:106 msgid "Rule name" msgstr "" @@ -3878,22 +3955,22 @@ msgid "Rule type" msgstr "" #: ipalib/plugins/hbacrule.py:156 ipalib/plugins/netgroup.py:139 -#: ipalib/plugins/selinuxusermap.py:161 ipalib/plugins/sudorule.py:119 +#: ipalib/plugins/selinuxusermap.py:165 ipalib/plugins/sudorule.py:119 msgid "User category" msgstr "" #: ipalib/plugins/hbacrule.py:157 ipalib/plugins/netgroup.py:140 -#: ipalib/plugins/selinuxusermap.py:162 ipalib/plugins/sudorule.py:120 +#: ipalib/plugins/selinuxusermap.py:166 ipalib/plugins/sudorule.py:120 msgid "User category the rule applies to" msgstr "" #: ipalib/plugins/hbacrule.py:162 ipalib/plugins/netgroup.py:145 -#: ipalib/plugins/selinuxusermap.py:167 ipalib/plugins/sudorule.py:125 +#: ipalib/plugins/selinuxusermap.py:171 ipalib/plugins/sudorule.py:125 msgid "Host category" msgstr "" #: ipalib/plugins/hbacrule.py:163 ipalib/plugins/netgroup.py:146 -#: ipalib/plugins/selinuxusermap.py:168 ipalib/plugins/sudorule.py:126 +#: ipalib/plugins/selinuxusermap.py:172 ipalib/plugins/sudorule.py:126 msgid "Host category the rule applies to" msgstr "" @@ -3913,25 +3990,25 @@ msgstr "" msgid "Service category the rule applies to" msgstr "" -#: ipalib/plugins/hbacrule.py:187 ipalib/plugins/internal.py:611 -#: ipalib/plugins/selinuxusermap.py:176 ipalib/plugins/sudorule.py:114 +#: ipalib/plugins/hbacrule.py:187 ipalib/plugins/internal.py:643 +#: ipalib/plugins/selinuxusermap.py:180 ipalib/plugins/sudorule.py:114 msgid "Enabled" msgstr "" -#: ipalib/plugins/hbacrule.py:191 ipalib/plugins/internal.py:482 -#: ipalib/plugins/selinuxusermap.py:180 ipalib/plugins/sudorule.py:155 -#: ipalib/plugins/user.py:202 +#: ipalib/plugins/hbacrule.py:191 ipalib/plugins/internal.py:495 +#: ipalib/plugins/selinuxusermap.py:184 ipalib/plugins/sudorule.py:155 +#: ipalib/plugins/user.py:224 msgid "Users" msgstr "" -#: ipalib/plugins/hbacrule.py:199 ipalib/plugins/host.py:232 -#: ipalib/plugins/internal.py:476 ipalib/plugins/selinuxusermap.py:188 +#: ipalib/plugins/hbacrule.py:199 ipalib/plugins/host.py:247 +#: ipalib/plugins/internal.py:489 ipalib/plugins/selinuxusermap.py:192 #: ipalib/plugins/sudorule.py:163 msgid "Hosts" msgstr "" #: ipalib/plugins/hbacrule.py:203 ipalib/plugins/hostgroup.py:75 -#: ipalib/plugins/internal.py:475 ipalib/plugins/selinuxusermap.py:192 +#: ipalib/plugins/internal.py:488 ipalib/plugins/selinuxusermap.py:196 #: ipalib/plugins/sudorule.py:167 msgid "Host Groups" msgstr "" @@ -3944,8 +4021,8 @@ msgstr "" msgid "Source Host Groups" msgstr "" -#: ipalib/plugins/hbacrule.py:215 ipalib/plugins/internal.py:425 -#: ipalib/plugins/service.py:238 +#: ipalib/plugins/hbacrule.py:215 ipalib/plugins/internal.py:436 +#: ipalib/plugins/service.py:236 msgid "Services" msgstr "" @@ -3962,109 +4039,129 @@ msgstr "" msgid "Added HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:242 +#: ipalib/plugins/hbacrule.py:243 msgid "Delete an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:244 +#: ipalib/plugins/hbacrule.py:245 #, python-format msgid "Deleted HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:258 +#: ipalib/plugins/hbacrule.py:260 msgid "Modify an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:260 +#: ipalib/plugins/hbacrule.py:262 #, python-format msgid "Modified HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:269 +#: ipalib/plugins/hbacrule.py:272 ipalib/plugins/netgroup.py:213 +#: ipalib/plugins/selinuxusermap.py:286 ipalib/plugins/sudorule.py:289 msgid "user category cannot be set to 'all' while there are allowed users" msgstr "" -#: ipalib/plugins/hbacrule.py:271 +#: ipalib/plugins/hbacrule.py:274 ipalib/plugins/netgroup.py:215 +#: ipalib/plugins/selinuxusermap.py:289 ipalib/plugins/sudorule.py:291 msgid "host category cannot be set to 'all' while there are allowed hosts" msgstr "" -#: ipalib/plugins/hbacrule.py:273 +#: ipalib/plugins/hbacrule.py:276 msgid "" "sourcehost category cannot be set to 'all' while there are allowed " "sourcehosts" msgstr "" -#: ipalib/plugins/hbacrule.py:275 +#: ipalib/plugins/hbacrule.py:278 msgid "" "service category cannot be set to 'all' while there are allowed services" msgstr "" -#: ipalib/plugins/hbacrule.py:282 +#: ipalib/plugins/hbacrule.py:285 msgid "Search for HBAC rules." msgstr "" -#: ipalib/plugins/hbacrule.py:285 +#: ipalib/plugins/hbacrule.py:288 #, python-format msgid "%(count)d HBAC rule matched" msgid_plural "%(count)d HBAC rules matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/hbacrule.py:292 +#: ipalib/plugins/hbacrule.py:295 msgid "Display the properties of an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:298 +#: ipalib/plugins/hbacrule.py:301 msgid "Enable an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:300 +#: ipalib/plugins/hbacrule.py:303 #, python-format msgid "Enabled HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:325 +#: ipalib/plugins/hbacrule.py:328 msgid "Disable an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:327 +#: ipalib/plugins/hbacrule.py:330 #, python-format msgid "Disabled HBAC rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:359 ipalib/plugins/hbacrule.py:399 +#: ipalib/plugins/hbacrule.py:362 ipalib/plugins/hbacrule.py:402 msgid "Access time" msgstr "" -#: ipalib/plugins/hbacrule.py:433 +#: ipalib/plugins/hbacrule.py:436 msgid "Add users and groups to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:452 +#: ipalib/plugins/hbacrule.py:450 ipalib/plugins/selinuxusermap.py:420 +#: ipalib/plugins/sudorule.py:439 +msgid "users cannot be added when user category='all'" +msgstr "" + +#: ipalib/plugins/hbacrule.py:457 msgid "Remove users and groups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:461 +#: ipalib/plugins/hbacrule.py:466 msgid "Add target hosts and hostgroups to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:480 +#: ipalib/plugins/hbacrule.py:480 ipalib/plugins/selinuxusermap.py:452 +#: ipalib/plugins/sudorule.py:475 +msgid "hosts cannot be added when host category='all'" +msgstr "" + +#: ipalib/plugins/hbacrule.py:487 msgid "Remove target hosts and hostgroups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:489 +#: ipalib/plugins/hbacrule.py:496 msgid "Add source hosts and hostgroups from a HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:511 +#: ipalib/plugins/hbacrule.py:510 +msgid "source hosts cannot be added when sourcehost category='all'" +msgstr "" + +#: ipalib/plugins/hbacrule.py:521 msgid "Remove source hosts and hostgroups from an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:523 +#: ipalib/plugins/hbacrule.py:534 msgid "Add services to an HBAC rule." msgstr "" -#: ipalib/plugins/hbacrule.py:542 +#: ipalib/plugins/hbacrule.py:548 +msgid "services cannot be added when service category='all'" +msgstr "" + +#: ipalib/plugins/hbacrule.py:555 msgid "Remove service and service groups from an HBAC rule." msgstr "" @@ -4407,7 +4504,7 @@ msgid "Result of simulation" msgstr "" #: ipalib/plugins/hbactest.py:181 ipalib/plugins/krbtpolicy.py:85 -#: ipalib/plugins/passwd.py:69 +#: ipalib/plugins/passwd.py:70 msgid "User name" msgstr "" @@ -4453,7 +4550,7 @@ msgstr "" msgid "Access granted: %s" msgstr "" -#: ipalib/plugins/host.py:46 +#: ipalib/plugins/host.py:48 msgid "" "\n" "Hosts/Machines\n" @@ -4513,202 +4610,210 @@ msgid "" " ipa host-add-managedby --hosts=test2 test\n" msgstr "" -#: ipalib/plugins/host.py:140 ipalib/plugins/service.py:88 +#: ipalib/plugins/host.py:150 ipalib/plugins/service.py:88 msgid "Keytab" msgstr "" -#: ipalib/plugins/host.py:155 ipalib/plugins/internal.py:338 +#: ipalib/plugins/host.py:165 ipalib/plugins/internal.py:343 #: ipalib/plugins/service.py:100 msgid "Serial Number (hex)" msgstr "" -#: ipalib/plugins/host.py:199 +#: ipalib/plugins/host.py:186 +msgid "Failed managedby" +msgstr "" + +#: ipalib/plugins/host.py:189 ipalib/plugins/user.py:91 +msgid "SSH public key fingerprint" +msgstr "" + +#: ipalib/plugins/host.py:215 msgid "host" msgstr "" -#: ipalib/plugins/host.py:200 +#: ipalib/plugins/host.py:216 msgid "hosts" msgstr "" -#: ipalib/plugins/host.py:233 ipalib/plugins/internal.py:474 -#: ipalib/plugins/internal.py:504 +#: ipalib/plugins/host.py:248 ipalib/plugins/internal.py:487 +#: ipalib/plugins/internal.py:528 msgid "Host" msgstr "" -#: ipalib/plugins/host.py:238 +#: ipalib/plugins/host.py:253 msgid "Host name" msgstr "" -#: ipalib/plugins/host.py:245 +#: ipalib/plugins/host.py:260 msgid "A description of this host" msgstr "" -#: ipalib/plugins/host.py:249 +#: ipalib/plugins/host.py:264 msgid "Locality" msgstr "" -#: ipalib/plugins/host.py:250 +#: ipalib/plugins/host.py:265 msgid "Host locality (e.g. \"Baltimore, MD\")" msgstr "" -#: ipalib/plugins/host.py:255 +#: ipalib/plugins/host.py:270 msgid "Host location (e.g. \"Lab 2\")" msgstr "" -#: ipalib/plugins/host.py:259 +#: ipalib/plugins/host.py:274 msgid "Platform" msgstr "" -#: ipalib/plugins/host.py:260 +#: ipalib/plugins/host.py:275 msgid "Host hardware platform (e.g. \"Lenovo T61\")" msgstr "" -#: ipalib/plugins/host.py:264 +#: ipalib/plugins/host.py:279 msgid "Operating system" msgstr "" -#: ipalib/plugins/host.py:265 +#: ipalib/plugins/host.py:280 msgid "Host operating system and version (e.g. \"Fedora 9\")" msgstr "" -#: ipalib/plugins/host.py:269 +#: ipalib/plugins/host.py:284 msgid "User password" msgstr "" -#: ipalib/plugins/host.py:270 +#: ipalib/plugins/host.py:285 msgid "Password used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:273 +#: ipalib/plugins/host.py:288 msgid "Generate a random password to be used in bulk enrollment" msgstr "" -#: ipalib/plugins/host.py:278 ipalib/plugins/user.py:278 +#: ipalib/plugins/host.py:293 ipalib/plugins/user.py:300 msgid "Random password" msgstr "" -#: ipalib/plugins/host.py:284 ipalib/plugins/service.py:252 +#: ipalib/plugins/host.py:299 ipalib/plugins/service.py:250 msgid "Base-64 encoded server certificate" msgstr "" -#: ipalib/plugins/host.py:287 ipalib/plugins/host.py:591 +#: ipalib/plugins/host.py:302 ipalib/plugins/host.py:607 msgid "Principal name" msgstr "" -#: ipalib/plugins/host.py:295 +#: ipalib/plugins/host.py:310 msgid "MAC address" msgstr "" -#: ipalib/plugins/host.py:296 +#: ipalib/plugins/host.py:311 msgid "Hardware MAC address(es) on this host" msgstr "" -#: ipalib/plugins/host.py:300 ipalib/plugins/user.py:344 -msgid "Base-64 encoded SSH public key" -msgstr "" - -#: ipalib/plugins/host.py:304 ipalib/plugins/user.py:348 -msgid "SSH public key fingerprint" +#: ipalib/plugins/host.py:315 ipalib/plugins/user.py:366 +msgid "SSH public key" msgstr "" -#: ipalib/plugins/host.py:362 +#: ipalib/plugins/host.py:375 msgid "Add a new host." msgstr "" -#: ipalib/plugins/host.py:365 +#: ipalib/plugins/host.py:378 #, python-format msgid "Added host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:370 +#: ipalib/plugins/host.py:383 msgid "force host name even if not in DNS" msgstr "" -#: ipalib/plugins/host.py:373 +#: ipalib/plugins/host.py:386 msgid "skip reverse DNS detection" msgstr "" -#: ipalib/plugins/host.py:376 +#: ipalib/plugins/host.py:389 msgid "Add the host to DNS with this IP address" msgstr "" -#: ipalib/plugins/host.py:453 +#: ipalib/plugins/host.py:468 #, python-format msgid "The host was added but the DNS update failed with: %(exc)s" msgstr "" -#: ipalib/plugins/host.py:473 +#: ipalib/plugins/host.py:488 msgid "Delete a host." msgstr "" -#: ipalib/plugins/host.py:475 +#: ipalib/plugins/host.py:490 #, python-format msgid "Deleted host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:480 +#: ipalib/plugins/host.py:495 msgid "Remove entries from DNS" msgstr "" -#: ipalib/plugins/host.py:582 +#: ipalib/plugins/host.py:598 msgid "Modify information about a host." msgstr "" -#: ipalib/plugins/host.py:585 +#: ipalib/plugins/host.py:601 #, python-format msgid "Modified host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:592 +#: ipalib/plugins/host.py:608 msgid "Kerberos principal name for this host" msgstr "" -#: ipalib/plugins/host.py:596 +#: ipalib/plugins/host.py:612 msgid "Update DNS entries" msgstr "" -#: ipalib/plugins/host.py:608 +#: ipalib/plugins/host.py:625 msgid "Password cannot be set on enrolled host." msgstr "" -#: ipalib/plugins/host.py:715 +#: ipalib/plugins/host.py:629 +msgid "cn is immutable" +msgstr "" + +#: ipalib/plugins/host.py:733 msgid "Search for hosts." msgstr "" -#: ipalib/plugins/host.py:719 +#: ipalib/plugins/host.py:737 #, python-format msgid "%(count)d host matched" msgid_plural "%(count)d hosts matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/host.py:799 +#: ipalib/plugins/host.py:818 msgid "Display information about a host." msgstr "" -#: ipalib/plugins/host.py:804 ipalib/plugins/service.py:423 +#: ipalib/plugins/host.py:823 ipalib/plugins/service.py:448 msgid "file to store certificate in" msgstr "" -#: ipalib/plugins/host.py:834 ipalib/plugins/service.py:441 +#: ipalib/plugins/host.py:854 ipalib/plugins/service.py:467 #, python-format msgid "Certificate stored in file '%(file)s'" msgstr "" -#: ipalib/plugins/host.py:845 +#: ipalib/plugins/host.py:865 msgid "Disable the Kerberos key, SSL certificate and all services of a host." msgstr "" -#: ipalib/plugins/host.py:848 +#: ipalib/plugins/host.py:868 #, python-format msgid "Disabled host \"%(value)s\"" msgstr "" -#: ipalib/plugins/host.py:937 +#: ipalib/plugins/host.py:957 msgid "Add hosts that can manage this host." msgstr "" -#: ipalib/plugins/host.py:951 +#: ipalib/plugins/host.py:972 msgid "Remove hosts that can manage this host." msgstr "" @@ -4777,644 +4882,919 @@ msgstr "" msgid "Added hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:134 +#: ipalib/plugins/hostgroup.py:135 #, python-format msgid "" "netgroup with name \"%s\" already exists. Hostgroups and netgroups share a " "common namespace" msgstr "" -#: ipalib/plugins/hostgroup.py:156 +#: ipalib/plugins/hostgroup.py:158 msgid "Delete a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:158 +#: ipalib/plugins/hostgroup.py:160 #, python-format msgid "Deleted hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:164 +#: ipalib/plugins/hostgroup.py:166 msgid "Modify a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:166 +#: ipalib/plugins/hostgroup.py:168 #, python-format msgid "Modified hostgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/hostgroup.py:176 +#: ipalib/plugins/hostgroup.py:179 msgid "Search for hostgroups." msgstr "" -#: ipalib/plugins/hostgroup.py:180 +#: ipalib/plugins/hostgroup.py:183 #, python-format msgid "%(count)d hostgroup matched" msgid_plural "%(count)d hostgroups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/hostgroup.py:195 +#: ipalib/plugins/hostgroup.py:198 msgid "Display information about a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:205 +#: ipalib/plugins/hostgroup.py:209 msgid "Add members to a hostgroup." msgstr "" -#: ipalib/plugins/hostgroup.py:215 +#: ipalib/plugins/hostgroup.py:220 msgid "Remove members from a hostgroup." msgstr "" -#: ipalib/plugins/internal.py:44 ipalib/plugins/internal.py:53 -msgid "Name of object to export" +#: ipalib/plugins/idrange.py:30 +msgid "" +"\n" +"ID ranges\n" +"\n" +"Manage ID ranges used to map Posix IDs to SIDs and back.\n" +"\n" +"There are two type of ID ranges which are both handled by this utility:\n" +"\n" +" - the ID ranges of the local domain\n" +" - the ID ranges of trusted remote domains\n" +"\n" +"Both types have the following attributes in common:\n" +"\n" +" - base-id: the first ID of the Posix ID range\n" +" - range-size: the size of the range\n" +"\n" +"With those two attributes a range object can reserve the Posix IDs starting\n" +"with base-id up to but not including base-id+range-size exclusively.\n" +"\n" +"Additionally an ID range of the local domain may set\n" +" - rid-base: the first RID(*) of the corresponding RID range\n" +" - secondary-rid-base: first RID of the secondary RID range\n" +"\n" +"and an ID range of a trusted domain must set\n" +" - rid-base: the first RID of the corresponding RID range\n" +" - dom_sid: domain SID of the trusted domain\n" +"\n" +"\n" +"\n" +"EXAMPLE: Add a new ID range for a trusted domain\n" +"\n" +"Since there might be more than one trusted domain the domain SID must be " +"given\n" +"while creating the ID range.\n" +"\n" +" ipa range-add --base-id=1200000 --range-size=200000 --rid-base=0 \\\n" +" --dom-sid=S-1-5-21-123-456-789 trusted_dom_range\n" +"\n" +"This ID range is then used by the IPA server and the SSSD IPA provider to\n" +"assign Posix UIDs to users from the trusted domain.\n" +"\n" +"If e.g a range for a trusted domain is configured with the following " +"values:\n" +" base-id = 1200000\n" +" range-size = 200000\n" +" rid-base = 0\n" +"the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. " +"So\n" +"RID 1000 <-> Posix ID 1201000\n" +"\n" +"\n" +"\n" +"EXAMPLE: Add a new ID range for the local domain\n" +"\n" +"To create an ID range for the local domain it is not necessary to specify a\n" +"domain SID. But since it is possible that a user and a group can have the " +"same\n" +"value as Posix ID a second RID interval is needed to handle conflicts.\n" +"\n" +" ipa range-add --base-id=1200000 --range-size=200000 --rid-base=1000 \\\n" +" --secondary-rid-base=1000000 local_range\n" +"\n" +"The data from the ID ranges of the local domain are used by the IPA server\n" +"internally to assign SIDs to IPA users and groups. The SID will then be " +"stored\n" +"in the user or group objects.\n" +"\n" +"If e.g. the ID range for the local domain is configured with the values " +"from\n" +"the example above then a new user with the UID 1200007 will get the RID " +"1007.\n" +"If this RID is already used by a group the RID will be 1000007. This can " +"only\n" +"happen if a user or a group object was created with a fixed ID because the\n" +"automatic assignment will not assign the same ID twice. Since there are " +"only\n" +"users and groups sharing the same ID namespace it is sufficient to have " +"only\n" +"one fallback range to handle conflicts.\n" +"\n" +"To find the Posix ID for a given RID from the local domain it has to be\n" +"checked first if the RID falls in the primary or secondary RID range and\n" +"the rid-base or the secondary-rid-base has to be subtracted, respectively,\n" +"and the base-id has to be added to get the Posix ID.\n" +"\n" +"Typically the creation of ID ranges happens behind the scenes and this CLI\n" +"must not be used at all. The ID range for the local domain will be created\n" +"during installation or upgrade from an older version. The ID range for a\n" +"trusted domain will be create together with the trust by 'ipa trust-" +"add ...'.\n" +"The use cases for this CLI are\n" +"\n" +"USE CASES:\n" +"\n" +" Add an ID range from a transitively trusted domain\n" +"\n" +" If the trusted domain (A) trusts another domain (B) as well and this " +"trust\n" +" is transitive 'ipa trust-add domain-A' will only create a range for\n" +" domain A. The ID range for domain B must be added manually.\n" +"\n" +" Add an additional ID range for the local domain\n" +"\n" +" If the ID range of the local domain is exhausted, i.e. no new IDs can " +"be\n" +" assigned to Posix users or groups by the DNA plugin, a new range has to " +"be\n" +" created to allow new users an groups to be added. (Currently there is " +"no\n" +" connection between this range CLI and the DNA plugin, but a future " +"version\n" +" might be able to modify the configuration of the DNS plugin as well)\n" +"\n" +"In general it is not necessary to modify or delete ID ranges. If there is " +"no\n" +"other way to achieve a certain configuration than to modify or delete an ID\n" +"range it should be done with great care. Because UIDs are stored in the " +"file\n" +"system and are used for access control it might be possible that users are\n" +"allowed to access files of other users if an ID range got deleted and " +"reused\n" +"for a different domain.\n" +"\n" +"(*) The RID is typically the last integer of a user or group SID which " +"follows\n" +"the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user " +"from\n" +"this domain has the SID S-1-5-21-123-456-789-1010 then 1010 id the RID of " +"the\n" +"user. RIDs are unique in a domain, 32bit values and are used for users and\n" +"groups.\n" +msgstr "" + +#: ipalib/plugins/idrange.py:155 +msgid "ID Ranges" +msgstr "" + +#: ipalib/plugins/idrange.py:156 +msgid "ID Range" +msgstr "" + +#: ipalib/plugins/idrange.py:161 +msgid "Range name" msgstr "" -#: ipalib/plugins/internal.py:47 ipalib/plugins/internal.py:56 -msgid "Name of method to export" +#: ipalib/plugins/idrange.py:166 +msgid "First Posix ID of the range" msgstr "" -#: ipalib/plugins/internal.py:59 -msgid "Name of command to export" +#: ipalib/plugins/idrange.py:170 +msgid "Number of IDs in the range" msgstr "" -#: ipalib/plugins/internal.py:64 -msgid "Dict of JSON encoded IPA Objects" +#: ipalib/plugins/idrange.py:174 +msgid "First RID of the corresponding RID range" msgstr "" -#: ipalib/plugins/internal.py:65 -msgid "Dict of JSON encoded IPA Methods" +#: ipalib/plugins/idrange.py:178 +msgid "First RID of the secondary RID range" msgstr "" -#: ipalib/plugins/internal.py:66 -msgid "Dict of JSON encoded IPA Commands" +#: ipalib/plugins/idrange.py:182 +msgid "Domain SID of the trusted domain" msgstr "" -#: ipalib/plugins/internal.py:147 -msgid "Your session has expired. Please re-login." +#: ipalib/plugins/idrange.py:185 ipalib/plugins/internal.py:516 +msgid "Range type" msgstr "" -#: ipalib/plugins/internal.py:151 -msgid "Apply" +#: ipalib/plugins/idrange.py:193 +msgid "Active Directory domain range" msgstr "" -#: ipalib/plugins/internal.py:152 -msgid "Are you sure you want to proceed with the action." +#: ipalib/plugins/idrange.py:195 +msgid "local domain range" msgstr "" -#: ipalib/plugins/internal.py:153 -msgid "Are you sure you want to delete ${object}" +#: ipalib/plugins/idrange.py:249 +msgid "" +"range modification leaving objects with ID out of the defined range is not " +"allowed" msgstr "" -#: ipalib/plugins/internal.py:154 -msgid "Are you sure you want to disable ${object}" +#: ipalib/plugins/idrange.py:253 +msgid "" +"\n" +" Add new ID range.\n" +"\n" +" To add a new ID range you always have to specify\n" +"\n" +" --base-id\n" +" --range-size\n" +"\n" +" Additionally\n" +"\n" +" --rid-base\n" +" --econdary-rid-base\n" +"\n" +" may be given for a new ID range for the local domain while\n" +"\n" +" --rid-bas\n" +" --dom-sid\n" +"\n" +" must be given to add a new range for a trusted AD domain.\n" +" " msgstr "" -#: ipalib/plugins/internal.py:155 -msgid "Are you sure you want to enable ${object}" +#: ipalib/plugins/idrange.py:274 +#, python-format +msgid "Added ID range \"%(value)s\"" msgstr "" -#: ipalib/plugins/internal.py:156 -msgid "Actions" +#: ipalib/plugins/idrange.py:281 ipalib/plugins/idrange.py:286 +#: ipalib/plugins/idrange.py:293 +msgid "ID Range setup" msgstr "" -#: ipalib/plugins/internal.py:160 -msgid "Add RunAs ${other_entity} into ${entity} ${primary_key}" +#: ipalib/plugins/idrange.py:282 +msgid "Options dom_sid and secondary_rid_base cannot be used together" msgstr "" -#: ipalib/plugins/internal.py:161 -msgid "Add RunAs Groups into ${entity} ${primary_key}" +#: ipalib/plugins/idrange.py:287 +msgid "Options dom_sid and rid_base must be used together" msgstr "" -#: ipalib/plugins/internal.py:162 -msgid "Add ${other_entity} Managing ${entity} ${primary_key}" +#: ipalib/plugins/idrange.py:294 +msgid "Options secondary_rid_base and rid_base must be used together" msgstr "" -#: ipalib/plugins/internal.py:163 -msgid "Add ${other_entity} into ${entity} ${primary_key}" +#: ipalib/plugins/idrange.py:307 +msgid "Delete an ID range." msgstr "" -#: ipalib/plugins/internal.py:164 -msgid "Add Allow ${other_entity} into ${entity} ${primary_key}" +#: ipalib/plugins/idrange.py:309 +#, python-format +msgid "Deleted ID range \"%(value)s\"" msgstr "" -#: ipalib/plugins/internal.py:165 -msgid "Add Deny ${other_entity} into ${entity} ${primary_key}" +#: ipalib/plugins/idrange.py:324 +msgid "Search for ranges." msgstr "" -#: ipalib/plugins/internal.py:166 -msgid "Add ${entity} ${primary_key} into ${other_entity}" -msgstr "" +#: ipalib/plugins/idrange.py:327 +#, python-format +msgid "%(count)d range matched" +msgid_plural "%(count)d ranges matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/internal.py:167 -msgid "Add Source ${other_entity} into ${entity} ${primary_key}" +#: ipalib/plugins/idrange.py:343 +msgid "Display information about a range." +msgstr "" + +#: ipalib/plugins/idrange.py:356 +msgid "Modify ID range." +msgstr "" + +#: ipalib/plugins/idrange.py:358 +#, python-format +msgid "Modified ID range \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/internal.py:44 ipalib/plugins/internal.py:53 +msgid "Name of object to export" +msgstr "" + +#: ipalib/plugins/internal.py:47 ipalib/plugins/internal.py:56 +msgid "Name of method to export" +msgstr "" + +#: ipalib/plugins/internal.py:59 +msgid "Name of command to export" +msgstr "" + +#: ipalib/plugins/internal.py:64 +msgid "Dict of JSON encoded IPA Objects" +msgstr "" + +#: ipalib/plugins/internal.py:65 +msgid "Dict of JSON encoded IPA Methods" +msgstr "" + +#: ipalib/plugins/internal.py:66 +msgid "Dict of JSON encoded IPA Commands" +msgstr "" + +#: ipalib/plugins/internal.py:147 +msgid "Your session has expired. Please re-login." +msgstr "" + +#: ipalib/plugins/internal.py:151 +msgid "Apply" +msgstr "" + +#: ipalib/plugins/internal.py:152 +msgid "Are you sure you want to proceed with the action." +msgstr "" + +#: ipalib/plugins/internal.py:153 +msgid "Are you sure you want to delete ${object}" +msgstr "" + +#: ipalib/plugins/internal.py:154 +msgid "Are you sure you want to disable ${object}" +msgstr "" + +#: ipalib/plugins/internal.py:155 +msgid "Are you sure you want to enable ${object}" +msgstr "" + +#: ipalib/plugins/internal.py:156 +msgid "Actions" +msgstr "" + +#: ipalib/plugins/internal.py:160 +msgid "Add RunAs ${other_entity} into ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:161 +msgid "Add RunAs Groups into ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:162 +msgid "Add ${other_entity} Managing ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:163 +msgid "Add ${other_entity} into ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:164 +msgid "Add Allow ${other_entity} into ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:165 +msgid "Add Deny ${other_entity} into ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:166 +msgid "Add ${entity} ${primary_key} into ${other_entity}" +msgstr "" + +#: ipalib/plugins/internal.py:167 +msgid "Add Source ${other_entity} into ${entity} ${primary_key}" msgstr "" #: ipalib/plugins/internal.py:169 -msgid "Direct Membership" +msgid "Items added" msgstr "" #: ipalib/plugins/internal.py:170 -msgid "Indirect Membership" +msgid "Direct Membership" msgstr "" #: ipalib/plugins/internal.py:171 -msgid "No entries." +msgid "Indirect Membership" msgstr "" #: ipalib/plugins/internal.py:172 +msgid "No entries." +msgstr "" + +#: ipalib/plugins/internal.py:173 msgid "Showing ${start} to ${end} of ${total} entries." msgstr "" -#: ipalib/plugins/internal.py:174 +#: ipalib/plugins/internal.py:175 msgid "Remove RunAs ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:175 +#: ipalib/plugins/internal.py:176 msgid "Remove RunAs Groups from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:176 +#: ipalib/plugins/internal.py:177 msgid "Remove ${other_entity} Managing ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:177 +#: ipalib/plugins/internal.py:178 msgid "Remove ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:178 +#: ipalib/plugins/internal.py:179 msgid "Remove Allow ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:179 +#: ipalib/plugins/internal.py:180 msgid "Remove Deny ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:180 +#: ipalib/plugins/internal.py:181 msgid "Remove ${entity} ${primary_key} from ${other_entity}" msgstr "" -#: ipalib/plugins/internal.py:181 +#: ipalib/plugins/internal.py:182 msgid "Remove Source ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:183 +#: ipalib/plugins/internal.py:184 +msgid "Items removed" +msgstr "" + +#: ipalib/plugins/internal.py:185 msgid "Show Results" msgstr "" -#: ipalib/plugins/internal.py:186 +#: ipalib/plugins/internal.py:188 msgid "Add" msgstr "" -#: ipalib/plugins/internal.py:187 +#: ipalib/plugins/internal.py:189 msgid "Add and Add Another" msgstr "" -#: ipalib/plugins/internal.py:188 +#: ipalib/plugins/internal.py:190 msgid "Add and Close" msgstr "" -#: ipalib/plugins/internal.py:189 +#: ipalib/plugins/internal.py:191 msgid "Add and Edit" msgstr "" -#: ipalib/plugins/internal.py:190 +#: ipalib/plugins/internal.py:192 msgid "Add Many" msgstr "" -#: ipalib/plugins/internal.py:191 +#: ipalib/plugins/internal.py:193 msgid "Back" msgstr "" -#: ipalib/plugins/internal.py:192 +#: ipalib/plugins/internal.py:194 msgid "Cancel" msgstr "" -#: ipalib/plugins/internal.py:193 +#: ipalib/plugins/internal.py:195 msgid "Close" msgstr "" -#: ipalib/plugins/internal.py:194 ipalib/plugins/internal.py:608 +#: ipalib/plugins/internal.py:196 ipalib/plugins/internal.py:640 msgid "Disable" msgstr "" -#: ipalib/plugins/internal.py:195 +#: ipalib/plugins/internal.py:197 msgid "Edit" msgstr "" -#: ipalib/plugins/internal.py:196 ipalib/plugins/internal.py:610 +#: ipalib/plugins/internal.py:198 ipalib/plugins/internal.py:642 msgid "Enable" msgstr "" -#: ipalib/plugins/internal.py:197 +#: ipalib/plugins/internal.py:199 msgid "Find" msgstr "" -#: ipalib/plugins/internal.py:198 +#: ipalib/plugins/internal.py:200 msgid "Get" msgstr "" -#: ipalib/plugins/internal.py:199 +#: ipalib/plugins/internal.py:201 msgid "Issue" msgstr "" -#: ipalib/plugins/internal.py:200 +#: ipalib/plugins/internal.py:202 msgid "OK" msgstr "" -#: ipalib/plugins/internal.py:201 +#: ipalib/plugins/internal.py:203 msgid "Refresh" msgstr "" -#: ipalib/plugins/internal.py:202 +#: ipalib/plugins/internal.py:204 msgid "Delete" msgstr "" -#: ipalib/plugins/internal.py:203 +#: ipalib/plugins/internal.py:205 msgid "Reset" msgstr "" -#: ipalib/plugins/internal.py:204 +#: ipalib/plugins/internal.py:206 msgid "Reset Password and Login" msgstr "" -#: ipalib/plugins/internal.py:205 +#: ipalib/plugins/internal.py:207 msgid "Restore" msgstr "" -#: ipalib/plugins/internal.py:206 +#: ipalib/plugins/internal.py:208 msgid "Retry" msgstr "" -#: ipalib/plugins/internal.py:207 +#: ipalib/plugins/internal.py:209 msgid "Revoke" msgstr "" -#: ipalib/plugins/internal.py:208 +#: ipalib/plugins/internal.py:210 msgid "Set" msgstr "" -#: ipalib/plugins/internal.py:209 +#: ipalib/plugins/internal.py:211 msgid "Update" msgstr "" -#: ipalib/plugins/internal.py:210 +#: ipalib/plugins/internal.py:212 msgid "View" msgstr "" -#: ipalib/plugins/internal.py:213 +#: ipalib/plugins/internal.py:215 msgid "Collapse All" msgstr "" -#: ipalib/plugins/internal.py:214 +#: ipalib/plugins/internal.py:216 msgid "Expand All" msgstr "" -#: ipalib/plugins/internal.py:215 +#: ipalib/plugins/internal.py:217 msgid "General" msgstr "" -#: ipalib/plugins/internal.py:216 +#: ipalib/plugins/internal.py:218 msgid "Identity Settings" msgstr "" -#: ipalib/plugins/internal.py:217 +#: ipalib/plugins/internal.py:219 msgid "${entity} ${primary_key} Settings" msgstr "" -#: ipalib/plugins/internal.py:218 +#: ipalib/plugins/internal.py:220 msgid "Back to Top" msgstr "" #: ipalib/plugins/internal.py:221 +msgid "${entity} ${primary_key} updated" +msgstr "" + +#: ipalib/plugins/internal.py:224 msgid "${entity} successfully added" msgstr "" -#: ipalib/plugins/internal.py:222 +#: ipalib/plugins/internal.py:225 msgid "Add ${entity}" msgstr "" -#: ipalib/plugins/internal.py:223 +#: ipalib/plugins/internal.py:226 msgid "Available" msgstr "" -#: ipalib/plugins/internal.py:224 +#: ipalib/plugins/internal.py:227 msgid "Some operations failed." msgstr "" -#: ipalib/plugins/internal.py:225 +#: ipalib/plugins/internal.py:228 msgid "Operations Error" msgstr "" -#: ipalib/plugins/internal.py:226 +#: ipalib/plugins/internal.py:229 msgid "Confirmation" msgstr "" -#: ipalib/plugins/internal.py:227 +#: ipalib/plugins/internal.py:230 msgid "This page has unsaved changes. Please save or revert." msgstr "" -#: ipalib/plugins/internal.py:228 +#: ipalib/plugins/internal.py:231 msgid "Unsaved Changes" msgstr "" -#: ipalib/plugins/internal.py:229 +#: ipalib/plugins/internal.py:232 msgid "Edit ${entity}" msgstr "" -#: ipalib/plugins/internal.py:230 +#: ipalib/plugins/internal.py:233 msgid "Hide details" msgstr "" -#: ipalib/plugins/internal.py:231 +#: ipalib/plugins/internal.py:234 msgid "Prospective" msgstr "" -#: ipalib/plugins/internal.py:232 +#: ipalib/plugins/internal.py:235 msgid "Redirection" msgstr "" -#: ipalib/plugins/internal.py:233 +#: ipalib/plugins/internal.py:236 msgid "Select entries to be removed." msgstr "" -#: ipalib/plugins/internal.py:234 +#: ipalib/plugins/internal.py:237 msgid "Remove ${entity}" msgstr "" -#: ipalib/plugins/internal.py:235 +#: ipalib/plugins/internal.py:238 msgid "Show details" msgstr "" -#: ipalib/plugins/internal.py:236 +#: ipalib/plugins/internal.py:239 msgid "Validation error" msgstr "" -#: ipalib/plugins/internal.py:237 +#: ipalib/plugins/internal.py:240 msgid "Input form contains invalid or missing values." msgstr "" -#: ipalib/plugins/internal.py:240 +#: ipalib/plugins/internal.py:243 msgid "Please try the following options:" msgstr "" -#: ipalib/plugins/internal.py:241 +#: ipalib/plugins/internal.py:244 msgid "If the problem persists please contact the system administrator." msgstr "" -#: ipalib/plugins/internal.py:242 +#: ipalib/plugins/internal.py:245 msgid "Refresh the page." msgstr "" -#: ipalib/plugins/internal.py:243 +#: ipalib/plugins/internal.py:246 msgid "Reload the browser." msgstr "" -#: ipalib/plugins/internal.py:244 +#: ipalib/plugins/internal.py:247 msgid "Return to the main page and retry the operation" msgstr "" -#: ipalib/plugins/internal.py:245 +#: ipalib/plugins/internal.py:248 msgid "An error has occured (${error})" msgstr "" -#: ipalib/plugins/internal.py:249 +#: ipalib/plugins/internal.py:252 msgid "HTTP Error" msgstr "" -#: ipalib/plugins/internal.py:250 +#: ipalib/plugins/internal.py:253 msgid "Internal Error" msgstr "" -#: ipalib/plugins/internal.py:251 +#: ipalib/plugins/internal.py:254 msgid "IPA Error" msgstr "" -#: ipalib/plugins/internal.py:252 +#: ipalib/plugins/internal.py:255 msgid "No response" msgstr "" -#: ipalib/plugins/internal.py:253 +#: ipalib/plugins/internal.py:256 msgid "Unknown Error" msgstr "" -#: ipalib/plugins/internal.py:254 +#: ipalib/plugins/internal.py:257 msgid "URL" msgstr "" -#: ipalib/plugins/internal.py:257 +#: ipalib/plugins/internal.py:260 msgid "${primary_key} is managed by:" msgstr "" -#: ipalib/plugins/internal.py:258 +#: ipalib/plugins/internal.py:261 msgid "${primary_key} members:" msgstr "" -#: ipalib/plugins/internal.py:259 +#: ipalib/plugins/internal.py:262 msgid "${primary_key} is a member of:" msgstr "" -#: ipalib/plugins/internal.py:262 +#: ipalib/plugins/internal.py:265 msgid "Settings" msgstr "" -#: ipalib/plugins/internal.py:263 +#: ipalib/plugins/internal.py:266 msgid "Search" msgstr "" -#: ipalib/plugins/internal.py:265 +#: ipalib/plugins/internal.py:268 msgid "False" msgstr "" -#: ipalib/plugins/internal.py:267 +#: ipalib/plugins/internal.py:270 msgid "" "To login with username and password, enter them in the fields below then " "click Login." msgstr "" -#: ipalib/plugins/internal.py:268 +#: ipalib/plugins/internal.py:271 msgid "Logged In As" msgstr "" -#: ipalib/plugins/internal.py:269 +#: ipalib/plugins/internal.py:272 msgid "" "To login with Kerberos, please make sure you have valid tickets (obtainable " "via kinit) and configured the " "browser correctly, then click Login." msgstr "" -#: ipalib/plugins/internal.py:270 +#: ipalib/plugins/internal.py:273 msgid "Login" msgstr "" -#: ipalib/plugins/internal.py:271 +#: ipalib/plugins/internal.py:274 msgid "Logout" msgstr "" -#: ipalib/plugins/internal.py:272 +#: ipalib/plugins/internal.py:275 msgid "Logout error" msgstr "" -#: ipalib/plugins/internal.py:277 +#: ipalib/plugins/internal.py:280 msgid "number of passwords" msgstr "" -#: ipalib/plugins/internal.py:278 +#: ipalib/plugins/internal.py:281 msgid "seconds" msgstr "" -#: ipalib/plugins/internal.py:282 ipalib/plugins/internal.py:287 +#: ipalib/plugins/internal.py:285 ipalib/plugins/internal.py:290 msgid "Attribute" msgstr "" -#: ipalib/plugins/internal.py:285 +#: ipalib/plugins/internal.py:288 msgid "Add Condition into ${pkey}" msgstr "" -#: ipalib/plugins/internal.py:286 +#: ipalib/plugins/internal.py:289 msgid "Add Rule" msgstr "" -#: ipalib/plugins/internal.py:288 +#: ipalib/plugins/internal.py:291 msgid "Default host group" msgstr "" -#: ipalib/plugins/internal.py:289 +#: ipalib/plugins/internal.py:292 msgid "Default user group" msgstr "" -#: ipalib/plugins/internal.py:290 +#: ipalib/plugins/internal.py:293 msgid "Exclusive" msgstr "" -#: ipalib/plugins/internal.py:291 +#: ipalib/plugins/internal.py:294 msgid "Expression" msgstr "" -#: ipalib/plugins/internal.py:292 +#: ipalib/plugins/internal.py:295 msgid "Host group rule" msgstr "" -#: ipalib/plugins/internal.py:293 +#: ipalib/plugins/internal.py:296 msgid "Host group rules" msgstr "" -#: ipalib/plugins/internal.py:294 +#: ipalib/plugins/internal.py:297 msgid "Inclusive" msgstr "" -#: ipalib/plugins/internal.py:295 +#: ipalib/plugins/internal.py:298 msgid "User group rule" msgstr "" -#: ipalib/plugins/internal.py:296 +#: ipalib/plugins/internal.py:299 msgid "User group rules" msgstr "" -#: ipalib/plugins/internal.py:301 +#: ipalib/plugins/internal.py:304 msgid "Automount Location Settings" msgstr "" -#: ipalib/plugins/internal.py:304 +#: ipalib/plugins/internal.py:307 msgid "Map Type" msgstr "" -#: ipalib/plugins/internal.py:305 +#: ipalib/plugins/internal.py:308 msgid "Direct" msgstr "" -#: ipalib/plugins/internal.py:306 +#: ipalib/plugins/internal.py:309 msgid "Indirect" msgstr "" -#: ipalib/plugins/internal.py:309 +#: ipalib/plugins/internal.py:312 msgid "AA Compromise" msgstr "" -#: ipalib/plugins/internal.py:310 +#: ipalib/plugins/internal.py:313 msgid "Affiliation Changed" msgstr "" -#: ipalib/plugins/internal.py:311 +#: ipalib/plugins/internal.py:314 msgid "CA Compromise" msgstr "" -#: ipalib/plugins/internal.py:312 +#: ipalib/plugins/internal.py:315 msgid "Certificate Hold" msgstr "" -#: ipalib/plugins/internal.py:313 +#: ipalib/plugins/internal.py:316 msgid "Cessation of Operation" msgstr "" -#: ipalib/plugins/internal.py:314 +#: ipalib/plugins/internal.py:317 msgid "Common Name" msgstr "" -#: ipalib/plugins/internal.py:315 +#: ipalib/plugins/internal.py:318 msgid "Expires On" msgstr "" -#: ipalib/plugins/internal.py:316 +#: ipalib/plugins/internal.py:319 msgid "Fingerprints" msgstr "" -#: ipalib/plugins/internal.py:317 +#: ipalib/plugins/internal.py:320 msgid "Issue New Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:318 +#: ipalib/plugins/internal.py:321 msgid "Issued By" msgstr "" -#: ipalib/plugins/internal.py:319 +#: ipalib/plugins/internal.py:322 msgid "Issued On" msgstr "" -#: ipalib/plugins/internal.py:320 +#: ipalib/plugins/internal.py:323 msgid "Issued To" msgstr "" -#: ipalib/plugins/internal.py:321 +#: ipalib/plugins/internal.py:324 msgid "Key Compromise" msgstr "" -#: ipalib/plugins/internal.py:322 +#: ipalib/plugins/internal.py:325 msgid "MD5 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:323 +#: ipalib/plugins/internal.py:326 msgid "No Valid Certificate" msgstr "" -#: ipalib/plugins/internal.py:324 +#: ipalib/plugins/internal.py:327 msgid "New Certificate" msgstr "" -#: ipalib/plugins/internal.py:325 +#: ipalib/plugins/internal.py:328 msgid "Note" msgstr "" -#: ipalib/plugins/internal.py:326 +#: ipalib/plugins/internal.py:329 msgid "Organization" msgstr "" -#: ipalib/plugins/internal.py:327 +#: ipalib/plugins/internal.py:330 msgid "Organizational Unit" msgstr "" -#: ipalib/plugins/internal.py:328 +#: ipalib/plugins/internal.py:331 msgid "Privilege Withdrawn" msgstr "" -#: ipalib/plugins/internal.py:329 +#: ipalib/plugins/internal.py:332 msgid "Reason for Revocation" msgstr "" -#: ipalib/plugins/internal.py:330 +#: ipalib/plugins/internal.py:333 msgid "Remove from CRL" msgstr "" -#: ipalib/plugins/internal.py:331 +#: ipalib/plugins/internal.py:334 msgid "" "
  1. Examples uses NSS database located in current directory. Replace \"-" "d .\" in example with \"-d /path/to/database\" if NSS database is located " @@ -5427,810 +5807,915 @@ msgid "" "REQUEST-----\") below:
" msgstr "" -#: ipalib/plugins/internal.py:332 +#: ipalib/plugins/internal.py:335 +msgid "Certificate requested" +msgstr "" + +#: ipalib/plugins/internal.py:336 msgid "Restore Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:333 +#: ipalib/plugins/internal.py:337 msgid "" "To confirm your intention to restore this certificate, click the \"Restore\" " "button." msgstr "" -#: ipalib/plugins/internal.py:334 +#: ipalib/plugins/internal.py:338 +msgid "Certificate restored" +msgstr "" + +#: ipalib/plugins/internal.py:339 msgid "Revoke Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:335 +#: ipalib/plugins/internal.py:340 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:336 +#: ipalib/plugins/internal.py:341 msgid "Certificate Revoked" msgstr "" -#: ipalib/plugins/internal.py:339 +#: ipalib/plugins/internal.py:344 msgid "SHA1 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:340 +#: ipalib/plugins/internal.py:345 msgid "Superseded" msgstr "" -#: ipalib/plugins/internal.py:341 +#: ipalib/plugins/internal.py:346 msgid "Unspecified" msgstr "" -#: ipalib/plugins/internal.py:342 +#: ipalib/plugins/internal.py:347 msgid "Valid Certificate Present" msgstr "" -#: ipalib/plugins/internal.py:343 +#: ipalib/plugins/internal.py:348 msgid "Validity" msgstr "" -#: ipalib/plugins/internal.py:344 +#: ipalib/plugins/internal.py:349 msgid "Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:347 +#: ipalib/plugins/internal.py:352 msgid "Group Options" msgstr "" -#: ipalib/plugins/internal.py:348 +#: ipalib/plugins/internal.py:353 msgid "Search Options" msgstr "" -#: ipalib/plugins/internal.py:349 +#: ipalib/plugins/internal.py:354 msgid "SELinux Options" msgstr "" -#: ipalib/plugins/internal.py:350 +#: ipalib/plugins/internal.py:355 +msgid "Service Options" +msgstr "" + +#: ipalib/plugins/internal.py:356 msgid "User Options" msgstr "" -#: ipalib/plugins/internal.py:355 +#: ipalib/plugins/internal.py:361 msgid "Forward first" msgstr "" -#: ipalib/plugins/internal.py:356 +#: ipalib/plugins/internal.py:362 msgid "Forward only" msgstr "" -#: ipalib/plugins/internal.py:357 ipalib/plugins/internal.py:550 +#: ipalib/plugins/internal.py:363 ipalib/plugins/internal.py:577 msgid "Options" msgstr "" -#: ipalib/plugins/internal.py:360 +#: ipalib/plugins/internal.py:366 msgid "Data" msgstr "" -#: ipalib/plugins/internal.py:361 +#: ipalib/plugins/internal.py:367 msgid "DNS record was deleted because it contained no data." msgstr "" -#: ipalib/plugins/internal.py:362 +#: ipalib/plugins/internal.py:368 msgid "Other Record Types" msgstr "" -#: ipalib/plugins/internal.py:363 +#: ipalib/plugins/internal.py:369 msgid "Address not valid, can't redirect" msgstr "" -#: ipalib/plugins/internal.py:364 +#: ipalib/plugins/internal.py:370 msgid "Create dns record" msgstr "" -#: ipalib/plugins/internal.py:365 +#: ipalib/plugins/internal.py:371 msgid "Creating record." msgstr "" -#: ipalib/plugins/internal.py:366 +#: ipalib/plugins/internal.py:372 msgid "Record creation failed." msgstr "" -#: ipalib/plugins/internal.py:367 +#: ipalib/plugins/internal.py:373 msgid "Checking if record exists." msgstr "" -#: ipalib/plugins/internal.py:368 +#: ipalib/plugins/internal.py:374 msgid "Record not found." msgstr "" -#: ipalib/plugins/internal.py:369 +#: ipalib/plugins/internal.py:375 msgid "Redirection to PTR record" msgstr "" -#: ipalib/plugins/internal.py:370 +#: ipalib/plugins/internal.py:376 msgid "Zone found: ${zone}" msgstr "" -#: ipalib/plugins/internal.py:371 +#: ipalib/plugins/internal.py:377 msgid "Target reverse zone not found." msgstr "" -#: ipalib/plugins/internal.py:372 +#: ipalib/plugins/internal.py:378 msgid "Fetching DNS zones." msgstr "" -#: ipalib/plugins/internal.py:373 +#: ipalib/plugins/internal.py:379 msgid "An error occurred while fetching dns zones." msgstr "" -#: ipalib/plugins/internal.py:374 +#: ipalib/plugins/internal.py:380 msgid "You will be redirected to DNS Zone." msgstr "" -#: ipalib/plugins/internal.py:375 +#: ipalib/plugins/internal.py:381 msgid "Standard Record Types" msgstr "" -#: ipalib/plugins/internal.py:376 +#: ipalib/plugins/internal.py:382 msgid "Records for DNS Zone" msgstr "" -#: ipalib/plugins/internal.py:377 +#: ipalib/plugins/internal.py:383 msgid "Record Type" msgstr "" -#: ipalib/plugins/internal.py:380 +#: ipalib/plugins/internal.py:386 msgid "DNS Zone Settings" msgstr "" -#: ipalib/plugins/internal.py:381 +#: ipalib/plugins/internal.py:387 msgid "Add Permission" msgstr "" -#: ipalib/plugins/internal.py:382 +#: ipalib/plugins/internal.py:388 msgid "Remove Permission" msgstr "" -#: ipalib/plugins/internal.py:385 ipalib/plugins/internal.py:559 +#: ipalib/plugins/internal.py:391 ipalib/plugins/internal.py:586 msgid "Account" msgstr "" -#: ipalib/plugins/internal.py:387 +#: ipalib/plugins/internal.py:393 msgid "Certificates" msgstr "" -#: ipalib/plugins/internal.py:388 +#: ipalib/plugins/internal.py:394 msgid "Consume" msgstr "" -#: ipalib/plugins/internal.py:389 +#: ipalib/plugins/internal.py:395 msgid "Consume Entitlement" msgstr "" -#: ipalib/plugins/internal.py:391 +#: ipalib/plugins/internal.py:397 msgid "Download" msgstr "" -#: ipalib/plugins/internal.py:392 +#: ipalib/plugins/internal.py:398 msgid "Download Certificate" msgstr "" -#: ipalib/plugins/internal.py:394 +#: ipalib/plugins/internal.py:400 msgid "Import" msgstr "" -#: ipalib/plugins/internal.py:395 +#: ipalib/plugins/internal.py:401 msgid "Import Certificate" msgstr "" -#: ipalib/plugins/internal.py:396 +#: ipalib/plugins/internal.py:402 msgid "Enter the Base64-encoded entitlement certificate below:" msgstr "" -#: ipalib/plugins/internal.py:397 +#: ipalib/plugins/internal.py:403 msgid "Loading..." msgstr "" -#: ipalib/plugins/internal.py:398 +#: ipalib/plugins/internal.py:404 msgid "No Certificate." msgstr "" -#: ipalib/plugins/internal.py:400 +#: ipalib/plugins/internal.py:406 msgid "Register" msgstr "" -#: ipalib/plugins/internal.py:401 +#: ipalib/plugins/internal.py:407 msgid "Registration" msgstr "" -#: ipalib/plugins/internal.py:403 ipalib/plugins/internal.py:459 -#: ipalib/plugins/internal.py:517 ipalib/plugins/internal.py:612 +#: ipalib/plugins/internal.py:409 ipalib/plugins/internal.py:471 +#: ipalib/plugins/internal.py:541 ipalib/plugins/internal.py:644 msgid "Status" msgstr "" -#: ipalib/plugins/internal.py:406 +#: ipalib/plugins/internal.py:412 msgid "Group Settings" msgstr "" -#: ipalib/plugins/internal.py:407 -msgid "POSIX group" +#: ipalib/plugins/internal.py:413 ipalib/plugins/internal.py:486 +#: ipalib/plugins/internal.py:572 +msgid "External" +msgstr "" + +#: ipalib/plugins/internal.py:414 +msgid "Change to external group" +msgstr "" + +#: ipalib/plugins/internal.py:415 +msgid "Change to POSIX group" +msgstr "" + +#: ipalib/plugins/internal.py:416 +msgid "Normal" +msgstr "" + +#: ipalib/plugins/internal.py:417 +msgid "POSIX" msgstr "" -#: ipalib/plugins/internal.py:410 ipalib/plugins/internal.py:471 -#: ipalib/plugins/internal.py:502 ipalib/plugins/internal.py:543 +#: ipalib/plugins/internal.py:418 +msgid "Group Type" +msgstr "" + +#: ipalib/plugins/internal.py:421 ipalib/plugins/internal.py:484 +#: ipalib/plugins/internal.py:526 ipalib/plugins/internal.py:568 msgid "Any Host" msgstr "" -#: ipalib/plugins/internal.py:411 +#: ipalib/plugins/internal.py:422 msgid "Any Service" msgstr "" -#: ipalib/plugins/internal.py:412 ipalib/plugins/internal.py:472 -#: ipalib/plugins/internal.py:503 ipalib/plugins/internal.py:544 +#: ipalib/plugins/internal.py:423 ipalib/plugins/internal.py:485 +#: ipalib/plugins/internal.py:527 ipalib/plugins/internal.py:569 msgid "Anyone" msgstr "" -#: ipalib/plugins/internal.py:413 +#: ipalib/plugins/internal.py:424 msgid "Accessing" msgstr "" -#: ipalib/plugins/internal.py:414 ipalib/plugins/internal.py:549 +#: ipalib/plugins/internal.py:425 ipalib/plugins/internal.py:574 msgid "Rule status" msgstr "" -#: ipalib/plugins/internal.py:415 +#: ipalib/plugins/internal.py:426 msgid "Via Service" msgstr "" -#: ipalib/plugins/internal.py:416 +#: ipalib/plugins/internal.py:427 msgid "From" msgstr "" -#: ipalib/plugins/internal.py:417 ipalib/plugins/internal.py:478 -#: ipalib/plugins/internal.py:505 ipalib/plugins/internal.py:554 +#: ipalib/plugins/internal.py:428 ipalib/plugins/internal.py:491 +#: ipalib/plugins/internal.py:529 ipalib/plugins/internal.py:581 msgid "Specified Hosts and Groups" msgstr "" -#: ipalib/plugins/internal.py:418 +#: ipalib/plugins/internal.py:429 msgid "Specified Services and Groups" msgstr "" -#: ipalib/plugins/internal.py:419 ipalib/plugins/internal.py:479 -#: ipalib/plugins/internal.py:506 ipalib/plugins/internal.py:555 +#: ipalib/plugins/internal.py:430 ipalib/plugins/internal.py:492 +#: ipalib/plugins/internal.py:530 ipalib/plugins/internal.py:582 msgid "Specified Users and Groups" msgstr "" -#: ipalib/plugins/internal.py:420 ipalib/plugins/internal.py:556 +#: ipalib/plugins/internal.py:431 ipalib/plugins/internal.py:583 msgid "Who" msgstr "" -#: ipalib/plugins/internal.py:428 +#: ipalib/plugins/internal.py:439 msgid "Access Denied" msgstr "" -#: ipalib/plugins/internal.py:429 +#: ipalib/plugins/internal.py:440 msgid "Access Granted" msgstr "" -#: ipalib/plugins/internal.py:430 +#: ipalib/plugins/internal.py:441 msgid "Include Disabled" msgstr "" -#: ipalib/plugins/internal.py:431 +#: ipalib/plugins/internal.py:442 msgid "Include Enabled" msgstr "" -#: ipalib/plugins/internal.py:432 +#: ipalib/plugins/internal.py:443 msgid "HBAC Test" msgstr "" -#: ipalib/plugins/internal.py:433 +#: ipalib/plugins/internal.py:444 msgid "Matched" msgstr "" -#: ipalib/plugins/internal.py:434 +#: ipalib/plugins/internal.py:445 msgid "Missing values: " msgstr "" -#: ipalib/plugins/internal.py:435 +#: ipalib/plugins/internal.py:446 msgid "New Test" msgstr "" -#: ipalib/plugins/internal.py:436 +#: ipalib/plugins/internal.py:447 msgid "Rules" msgstr "" -#: ipalib/plugins/internal.py:437 +#: ipalib/plugins/internal.py:448 msgid "Run Test" msgstr "" -#: ipalib/plugins/internal.py:438 +#: ipalib/plugins/internal.py:449 msgid "Specify external ${entity}" msgstr "" -#: ipalib/plugins/internal.py:439 +#: ipalib/plugins/internal.py:450 msgid "Unmatched" msgstr "" -#: ipalib/plugins/internal.py:442 +#: ipalib/plugins/internal.py:453 msgid "Host Certificate" msgstr "" -#: ipalib/plugins/internal.py:443 ipalib/plugins/internal.py:513 +#: ipalib/plugins/internal.py:454 ipalib/plugins/internal.py:537 msgid "Host Name" msgstr "" -#: ipalib/plugins/internal.py:444 ipalib/plugins/internal.py:511 +#: ipalib/plugins/internal.py:455 ipalib/plugins/internal.py:535 msgid "Delete Key, Unprovision" msgstr "" -#: ipalib/plugins/internal.py:445 +#: ipalib/plugins/internal.py:456 msgid "Host Settings" msgstr "" -#: ipalib/plugins/internal.py:446 +#: ipalib/plugins/internal.py:457 msgid "Enrolled" msgstr "" -#: ipalib/plugins/internal.py:447 +#: ipalib/plugins/internal.py:458 msgid "Enrollment" msgstr "" -#: ipalib/plugins/internal.py:448 +#: ipalib/plugins/internal.py:459 msgid "Fully Qualified Host Name" msgstr "" -#: ipalib/plugins/internal.py:449 +#: ipalib/plugins/internal.py:460 msgid "Kerberos Key" msgstr "" -#: ipalib/plugins/internal.py:450 ipalib/plugins/internal.py:514 +#: ipalib/plugins/internal.py:461 ipalib/plugins/internal.py:538 msgid "Kerberos Key Not Present" msgstr "" -#: ipalib/plugins/internal.py:451 +#: ipalib/plugins/internal.py:462 msgid "Kerberos Key Present, Host Provisioned" msgstr "" -#: ipalib/plugins/internal.py:452 +#: ipalib/plugins/internal.py:463 msgid "One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:453 +#: ipalib/plugins/internal.py:464 msgid "One-Time-Password Not Present" msgstr "" -#: ipalib/plugins/internal.py:454 +#: ipalib/plugins/internal.py:465 msgid "One-Time-Password Present" msgstr "" -#: ipalib/plugins/internal.py:455 +#: ipalib/plugins/internal.py:466 msgid "Reset OTP" msgstr "" -#: ipalib/plugins/internal.py:456 +#: ipalib/plugins/internal.py:467 msgid "Reset One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:457 +#: ipalib/plugins/internal.py:468 msgid "Set OTP" msgstr "" -#: ipalib/plugins/internal.py:458 +#: ipalib/plugins/internal.py:469 +msgid "OTP set" +msgstr "" + +#: ipalib/plugins/internal.py:470 msgid "Set One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:460 ipalib/plugins/internal.py:518 +#: ipalib/plugins/internal.py:472 ipalib/plugins/internal.py:542 msgid "Unprovision" msgstr "" -#: ipalib/plugins/internal.py:461 +#: ipalib/plugins/internal.py:473 msgid "Are you sure you want to unprovision this host?" msgstr "" -#: ipalib/plugins/internal.py:462 ipalib/plugins/internal.py:520 +#: ipalib/plugins/internal.py:474 ipalib/plugins/internal.py:544 msgid "Unprovisioning ${entity}" msgstr "" -#: ipalib/plugins/internal.py:465 +#: ipalib/plugins/internal.py:475 +msgid "Host unprovisioned" +msgstr "" + +#: ipalib/plugins/internal.py:478 msgid "Host Group Settings" msgstr "" -#: ipalib/plugins/internal.py:468 ipalib/plugins/krbtpolicy.py:79 +#: ipalib/plugins/internal.py:481 ipalib/plugins/krbtpolicy.py:79 #: ipalib/plugins/krbtpolicy.py:80 msgid "Kerberos Ticket Policy" msgstr "" -#: ipalib/plugins/internal.py:473 ipalib/plugins/internal.py:547 -msgid "External" -msgstr "" - -#: ipalib/plugins/internal.py:477 +#: ipalib/plugins/internal.py:490 msgid "Netgroup Settings" msgstr "" -#: ipalib/plugins/internal.py:480 ipalib/plugins/internal.py:507 -#: ipalib/plugins/pwpolicy.py:433 ipalib/plugins/user.py:203 +#: ipalib/plugins/internal.py:493 ipalib/plugins/internal.py:531 +#: ipalib/plugins/pwpolicy.py:441 ipalib/plugins/user.py:225 msgid "User" msgstr "" -#: ipalib/plugins/internal.py:485 ipalib/plugins/internal.py:620 +#: ipalib/plugins/internal.py:498 ipalib/plugins/internal.py:652 msgid "Identity" msgstr "" -#: ipalib/plugins/internal.py:486 +#: ipalib/plugins/internal.py:499 msgid "Permission with invalid target specification" msgstr "" -#: ipalib/plugins/internal.py:491 +#: ipalib/plugins/internal.py:504 msgid "Privilege Settings" msgstr "" -#: ipalib/plugins/internal.py:494 ipalib/plugins/pwpolicy.py:221 +#: ipalib/plugins/internal.py:507 ipalib/plugins/pwpolicy.py:223 msgid "Password Policy" msgstr "" -#: ipalib/plugins/internal.py:497 +#: ipalib/plugins/internal.py:510 +msgid "Range Settings" +msgstr "" + +#: ipalib/plugins/internal.py:511 +msgid "Base ID" +msgstr "" + +#: ipalib/plugins/internal.py:512 +msgid "Primary RID base" +msgstr "" + +#: ipalib/plugins/internal.py:513 +msgid "Range size" +msgstr "" + +#: ipalib/plugins/internal.py:514 +msgid "Domain SID" +msgstr "" + +#: ipalib/plugins/internal.py:515 +msgid "Secondary RID base" +msgstr "" + +#: ipalib/plugins/internal.py:517 ipalib/plugins/trust.py:58 +msgid "Active Directory domain" +msgstr "" + +#: ipalib/plugins/internal.py:518 +msgid "Local domain" +msgstr "" + +#: ipalib/plugins/internal.py:521 msgid "Role Settings" msgstr "" -#: ipalib/plugins/internal.py:510 +#: ipalib/plugins/internal.py:534 msgid "Service Certificate" msgstr "" -#: ipalib/plugins/internal.py:512 +#: ipalib/plugins/internal.py:536 msgid "Service Settings" msgstr "" -#: ipalib/plugins/internal.py:515 +#: ipalib/plugins/internal.py:539 msgid "Provisioning" msgstr "" -#: ipalib/plugins/internal.py:519 +#: ipalib/plugins/internal.py:543 msgid "Are you sure you want to unprovision this service?" msgstr "" -#: ipalib/plugins/internal.py:521 +#: ipalib/plugins/internal.py:545 +msgid "Service unprovisioned" +msgstr "" + +#: ipalib/plugins/internal.py:546 msgid "Kerberos Key Present, Service Provisioned" msgstr "" -#: ipalib/plugins/internal.py:524 +#: ipalib/plugins/internal.py:549 msgid "SSH public keys" msgstr "" -#: ipalib/plugins/internal.py:525 -msgid "Base-64 encoded SSH public key:" +#: ipalib/plugins/internal.py:550 +msgid "SSH public key:" msgstr "" -#: ipalib/plugins/internal.py:526 +#: ipalib/plugins/internal.py:551 msgid "Set SSH key" msgstr "" -#: ipalib/plugins/internal.py:527 +#: ipalib/plugins/internal.py:552 msgid "Show/Set key" msgstr "" -#: ipalib/plugins/internal.py:528 +#: ipalib/plugins/internal.py:553 msgid "Modified: key not set" msgstr "" -#: ipalib/plugins/internal.py:529 +#: ipalib/plugins/internal.py:554 msgid "Modified" msgstr "" -#: ipalib/plugins/internal.py:530 +#: ipalib/plugins/internal.py:555 msgid "New: key not set" msgstr "" -#: ipalib/plugins/internal.py:531 +#: ipalib/plugins/internal.py:556 msgid "New: key set" msgstr "" -#: ipalib/plugins/internal.py:534 +#: ipalib/plugins/internal.py:559 msgid "Groups" msgstr "" -#: ipalib/plugins/internal.py:537 ipalib/plugins/sudocmdgroup.py:82 +#: ipalib/plugins/internal.py:562 ipalib/plugins/sudocmdgroup.py:82 msgid "Commands" msgstr "" -#: ipalib/plugins/internal.py:540 +#: ipalib/plugins/internal.py:565 msgid "Allow" msgstr "" -#: ipalib/plugins/internal.py:541 +#: ipalib/plugins/internal.py:566 msgid "Any Command" msgstr "" -#: ipalib/plugins/internal.py:542 +#: ipalib/plugins/internal.py:567 msgid "Any Group" msgstr "" -#: ipalib/plugins/internal.py:545 +#: ipalib/plugins/internal.py:570 msgid "Run Commands" msgstr "" -#: ipalib/plugins/internal.py:546 +#: ipalib/plugins/internal.py:571 msgid "Deny" msgstr "" -#: ipalib/plugins/internal.py:548 +#: ipalib/plugins/internal.py:573 msgid "Access this host" msgstr "" -#: ipalib/plugins/internal.py:551 +#: ipalib/plugins/internal.py:575 +msgid "Option added" +msgstr "" + +#: ipalib/plugins/internal.py:576 +msgid "Option(s) removed" +msgstr "" + +#: ipalib/plugins/internal.py:578 msgid "As Whom" msgstr "" -#: ipalib/plugins/internal.py:552 +#: ipalib/plugins/internal.py:579 msgid "Specified Commands and Groups" msgstr "" -#: ipalib/plugins/internal.py:553 +#: ipalib/plugins/internal.py:580 msgid "Specified Groups" msgstr "" -#: ipalib/plugins/internal.py:560 +#: ipalib/plugins/internal.py:587 msgid "Administrative account" msgstr "" -#: ipalib/plugins/internal.py:561 +#: ipalib/plugins/internal.py:588 msgid "Trust Settings" msgstr "" -#: ipalib/plugins/internal.py:562 +#: ipalib/plugins/internal.py:589 msgid "Domain" msgstr "" -#: ipalib/plugins/internal.py:563 +#: ipalib/plugins/internal.py:590 msgid "Establish using" msgstr "" -#: ipalib/plugins/internal.py:564 ipalib/plugins/trust.py:40 +#: ipalib/plugins/internal.py:591 ipalib/plugins/trust.py:46 msgid "Domain NetBIOS name" msgstr "" -#: ipalib/plugins/internal.py:565 ipalib/plugins/trust.py:42 +#: ipalib/plugins/internal.py:592 ipalib/plugins/trust.py:48 msgid "Domain Security Identifier" msgstr "" -#: ipalib/plugins/internal.py:566 +#: ipalib/plugins/internal.py:593 msgid "Pre-shared password" msgstr "" -#: ipalib/plugins/internal.py:567 ipalib/plugins/trust.py:44 +#: ipalib/plugins/internal.py:594 ipalib/plugins/trust.py:50 msgid "Trust direction" msgstr "" -#: ipalib/plugins/internal.py:568 ipalib/plugins/trust.py:48 +#: ipalib/plugins/internal.py:595 ipalib/plugins/trust.py:54 msgid "Trust status" msgstr "" -#: ipalib/plugins/internal.py:569 ipalib/plugins/trust.py:46 +#: ipalib/plugins/internal.py:596 ipalib/plugins/trust.py:52 msgid "Trust type" msgstr "" -#: ipalib/plugins/internal.py:572 +#: ipalib/plugins/internal.py:599 msgid "Account Settings" msgstr "" -#: ipalib/plugins/internal.py:573 +#: ipalib/plugins/internal.py:600 msgid "Account Status" msgstr "" -#: ipalib/plugins/internal.py:574 +#: ipalib/plugins/internal.py:601 msgid "Contact Settings" msgstr "" -#: ipalib/plugins/internal.py:575 +#: ipalib/plugins/internal.py:602 msgid "Employee Information" msgstr "" -#: ipalib/plugins/internal.py:576 +#: ipalib/plugins/internal.py:603 msgid "Error changing account status" msgstr "" -#: ipalib/plugins/internal.py:577 +#: ipalib/plugins/internal.py:604 msgid "Password expiration" msgstr "" -#: ipalib/plugins/internal.py:578 +#: ipalib/plugins/internal.py:605 msgid "Mailing Address" msgstr "" -#: ipalib/plugins/internal.py:579 +#: ipalib/plugins/internal.py:606 msgid "Misc. Information" msgstr "" -#: ipalib/plugins/internal.py:580 +#: ipalib/plugins/internal.py:607 msgid "" "Are you sure you want to ${action} the user?
The change will take effect " "immediately." msgstr "" -#: ipalib/plugins/internal.py:581 +#: ipalib/plugins/internal.py:608 msgid "Click to ${action}" msgstr "" -#: ipalib/plugins/internal.py:585 ipalib/plugins/passwd.py:79 +#: ipalib/plugins/internal.py:612 ipalib/plugins/passwd.py:80 msgid "Current Password" msgstr "" -#: ipalib/plugins/internal.py:586 +#: ipalib/plugins/internal.py:613 msgid "Current password is required" msgstr "" -#: ipalib/plugins/internal.py:587 +#: ipalib/plugins/internal.py:614 msgid "Your password expires in ${days} days." msgstr "" -#: ipalib/plugins/internal.py:588 +#: ipalib/plugins/internal.py:615 msgid "The password or username you entered is incorrect." msgstr "" -#: ipalib/plugins/internal.py:589 ipalib/plugins/passwd.py:76 +#: ipalib/plugins/internal.py:616 ipalib/plugins/passwd.py:77 msgid "New Password" msgstr "" -#: ipalib/plugins/internal.py:590 +#: ipalib/plugins/internal.py:617 msgid "New password is required" msgstr "" -#: ipalib/plugins/internal.py:592 +#: ipalib/plugins/internal.py:619 msgid "Password change complete" msgstr "" -#: ipalib/plugins/internal.py:593 +#: ipalib/plugins/internal.py:620 msgid "Passwords must match" msgstr "" -#: ipalib/plugins/internal.py:594 +#: ipalib/plugins/internal.py:621 msgid "Password reset was not successful." msgstr "" -#: ipalib/plugins/internal.py:595 +#: ipalib/plugins/internal.py:622 msgid "Reset Password" msgstr "" -#: ipalib/plugins/internal.py:596 +#: ipalib/plugins/internal.py:623 msgid "Reset your password." msgstr "" -#: ipalib/plugins/internal.py:597 +#: ipalib/plugins/internal.py:624 msgid "Verify Password" msgstr "" -#: ipalib/plugins/internal.py:600 +#: ipalib/plugins/internal.py:627 msgid "Are you sure you want to delete selected entries?" msgstr "" -#: ipalib/plugins/internal.py:601 +#: ipalib/plugins/internal.py:628 +msgid "Selected entries were deleted." +msgstr "" + +#: ipalib/plugins/internal.py:629 +msgid "Are you sure you want to disable selected entries?" +msgstr "" + +#: ipalib/plugins/internal.py:630 +msgid "${count} items were disabled" +msgstr "" + +#: ipalib/plugins/internal.py:631 +msgid "Are you sure you want to enable selected entries?" +msgstr "" + +#: ipalib/plugins/internal.py:632 +msgid "${count} items were enabled" +msgstr "" + +#: ipalib/plugins/internal.py:633 msgid "Some entries were not deleted" msgstr "" -#: ipalib/plugins/internal.py:602 +#: ipalib/plugins/internal.py:634 msgid "Quick Links" msgstr "" -#: ipalib/plugins/internal.py:603 +#: ipalib/plugins/internal.py:635 msgid "Select All" msgstr "" -#: ipalib/plugins/internal.py:604 +#: ipalib/plugins/internal.py:636 msgid "" "Query returned more results than the configured size limit. Displaying the " "first ${counter} results." msgstr "" -#: ipalib/plugins/internal.py:605 +#: ipalib/plugins/internal.py:637 msgid "Unselect All" msgstr "" -#: ipalib/plugins/internal.py:609 +#: ipalib/plugins/internal.py:641 msgid "Disabled" msgstr "" -#: ipalib/plugins/internal.py:615 +#: ipalib/plugins/internal.py:647 msgid "Audit" msgstr "" -#: ipalib/plugins/internal.py:616 +#: ipalib/plugins/internal.py:648 msgid "Automember" msgstr "" -#: ipalib/plugins/internal.py:617 +#: ipalib/plugins/internal.py:649 msgid "Automount" msgstr "" -#: ipalib/plugins/internal.py:618 +#: ipalib/plugins/internal.py:650 msgid "DNS" msgstr "" -#: ipalib/plugins/internal.py:619 +#: ipalib/plugins/internal.py:651 msgid "Host Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:621 +#: ipalib/plugins/internal.py:653 msgid "IPA Server" msgstr "" -#: ipalib/plugins/internal.py:622 +#: ipalib/plugins/internal.py:654 msgid "Policy" msgstr "" -#: ipalib/plugins/internal.py:623 +#: ipalib/plugins/internal.py:655 msgid "Role Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:624 +#: ipalib/plugins/internal.py:656 msgid "Sudo" msgstr "" -#: ipalib/plugins/internal.py:626 +#: ipalib/plugins/internal.py:658 msgid "True" msgstr "" -#: ipalib/plugins/internal.py:628 +#: ipalib/plugins/internal.py:660 msgid "Next" msgstr "" -#: ipalib/plugins/internal.py:629 +#: ipalib/plugins/internal.py:661 msgid "Page" msgstr "" -#: ipalib/plugins/internal.py:630 +#: ipalib/plugins/internal.py:662 msgid "Prev" msgstr "" -#: ipalib/plugins/internal.py:631 +#: ipalib/plugins/internal.py:663 msgid "undo" msgstr "" -#: ipalib/plugins/internal.py:632 +#: ipalib/plugins/internal.py:664 msgid "undo all" msgstr "" -#: ipalib/plugins/internal.py:634 +#: ipalib/plugins/internal.py:666 msgid "Text does not match field pattern" msgstr "" -#: ipalib/plugins/internal.py:635 +#: ipalib/plugins/internal.py:667 +msgid "Must be a decimal number" +msgstr "" + +#: ipalib/plugins/internal.py:668 msgid "Must be an integer" msgstr "" -#: ipalib/plugins/internal.py:636 +#: ipalib/plugins/internal.py:669 msgid "Not a valid IP address" msgstr "" -#: ipalib/plugins/internal.py:637 +#: ipalib/plugins/internal.py:670 msgid "Not a valid IPv4 address" msgstr "" -#: ipalib/plugins/internal.py:638 +#: ipalib/plugins/internal.py:671 msgid "Not a valid IPv6 address" msgstr "" -#: ipalib/plugins/internal.py:639 +#: ipalib/plugins/internal.py:672 msgid "Maximum value is ${value}" msgstr "" -#: ipalib/plugins/internal.py:640 +#: ipalib/plugins/internal.py:673 msgid "Minimum value is ${value}" msgstr "" -#: ipalib/plugins/internal.py:641 +#: ipalib/plugins/internal.py:674 msgid "Not a valid network address" msgstr "" -#: ipalib/plugins/internal.py:642 +#: ipalib/plugins/internal.py:675 msgid "'${port}' is not a valid port" msgstr "" -#: ipalib/plugins/internal.py:643 +#: ipalib/plugins/internal.py:676 msgid "Required field" msgstr "" -#: ipalib/plugins/internal.py:644 +#: ipalib/plugins/internal.py:677 msgid "Unsupported value" msgstr "" -#: ipalib/plugins/internal.py:649 +#: ipalib/plugins/internal.py:682 msgid "Dict of I18N messages" msgstr "" @@ -6302,15 +6787,15 @@ msgstr "" msgid "Modify Kerberos ticket policy." msgstr "" -#: ipalib/plugins/krbtpolicy.py:125 +#: ipalib/plugins/krbtpolicy.py:126 msgid "Display the current Kerberos ticket policy." msgstr "" -#: ipalib/plugins/krbtpolicy.py:148 +#: ipalib/plugins/krbtpolicy.py:151 msgid "Reset Kerberos ticket policy to the default values." msgstr "" -#: ipalib/plugins/migration.py:36 +#: ipalib/plugins/migration.py:35 msgid "" "\n" "Migration to IPA\n" @@ -6386,208 +6871,208 @@ msgid "" " ldap://ds.example.com:389\n" msgstr "" -#: ipalib/plugins/migration.py:110 +#: ipalib/plugins/migration.py:109 #, python-format msgid "" "Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually." msgstr "" -#: ipalib/plugins/migration.py:111 +#: ipalib/plugins/migration.py:110 msgid "" "Failed to add user to the default group. Use 'ipa group-add-member' to add " "manually." msgstr "" -#: ipalib/plugins/migration.py:112 +#: ipalib/plugins/migration.py:111 msgid "Migration of LDAP search reference is not supported." msgstr "" -#: ipalib/plugins/migration.py:113 +#: ipalib/plugins/migration.py:112 msgid "Malformed DN" msgstr "" -#: ipalib/plugins/migration.py:137 +#: ipalib/plugins/migration.py:128 #, python-format msgid "%(user)s is not a POSIX user" msgstr "" -#: ipalib/plugins/migration.py:348 +#: ipalib/plugins/migration.py:334 msgid "" ". Check GID of the existing group. Use --group-overwrite-gid option to " "overwrite the GID" msgstr "" -#: ipalib/plugins/migration.py:363 +#: ipalib/plugins/migration.py:349 msgid "Invalid LDAP URI." msgstr "" -#: ipalib/plugins/migration.py:368 +#: ipalib/plugins/migration.py:354 msgid "Migrate users and groups from DS to IPA." msgstr "" -#: ipalib/plugins/migration.py:415 +#: ipalib/plugins/migration.py:401 msgid "LDAP URI" msgstr "" -#: ipalib/plugins/migration.py:416 +#: ipalib/plugins/migration.py:402 msgid "LDAP URI of DS server to migrate from" msgstr "" -#: ipalib/plugins/migration.py:422 +#: ipalib/plugins/migration.py:408 msgid "bind password" msgstr "" -#: ipalib/plugins/migration.py:429 +#: ipalib/plugins/migration.py:415 msgid "Bind DN" msgstr "" -#: ipalib/plugins/migration.py:435 +#: ipalib/plugins/migration.py:421 msgid "User container" msgstr "" -#: ipalib/plugins/migration.py:436 +#: ipalib/plugins/migration.py:422 msgid "DN of container for users in DS relative to base DN" msgstr "" -#: ipalib/plugins/migration.py:442 +#: ipalib/plugins/migration.py:428 msgid "Group container" msgstr "" -#: ipalib/plugins/migration.py:443 +#: ipalib/plugins/migration.py:429 msgid "DN of container for groups in DS relative to base DN" msgstr "" -#: ipalib/plugins/migration.py:449 +#: ipalib/plugins/migration.py:435 msgid "User object class" msgstr "" -#: ipalib/plugins/migration.py:450 +#: ipalib/plugins/migration.py:436 msgid "" "Comma-separated list of objectclasses used to search for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:457 +#: ipalib/plugins/migration.py:443 msgid "Group object class" msgstr "" -#: ipalib/plugins/migration.py:458 +#: ipalib/plugins/migration.py:444 msgid "" "Comma-separated list of objectclasses used to search for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:465 +#: ipalib/plugins/migration.py:451 msgid "Ignore user object class" msgstr "" -#: ipalib/plugins/migration.py:466 +#: ipalib/plugins/migration.py:452 msgid "" "Comma-separated list of objectclasses to be ignored for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:473 +#: ipalib/plugins/migration.py:459 msgid "Ignore user attribute" msgstr "" -#: ipalib/plugins/migration.py:474 +#: ipalib/plugins/migration.py:460 msgid "Comma-separated list of attributes to be ignored for user entries in DS" msgstr "" -#: ipalib/plugins/migration.py:481 +#: ipalib/plugins/migration.py:467 msgid "Ignore group object class" msgstr "" -#: ipalib/plugins/migration.py:482 +#: ipalib/plugins/migration.py:468 msgid "" "Comma-separated list of objectclasses to be ignored for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:489 +#: ipalib/plugins/migration.py:475 msgid "Ignore group attribute" msgstr "" -#: ipalib/plugins/migration.py:490 +#: ipalib/plugins/migration.py:476 msgid "" "Comma-separated list of attributes to be ignored for group entries in DS" msgstr "" -#: ipalib/plugins/migration.py:497 +#: ipalib/plugins/migration.py:483 msgid "Overwrite GID" msgstr "" -#: ipalib/plugins/migration.py:498 +#: ipalib/plugins/migration.py:484 msgid "" "When migrating a group already existing in IPA domain overwrite the group " "GID and report as success" msgstr "" -#: ipalib/plugins/migration.py:503 +#: ipalib/plugins/migration.py:489 msgid "LDAP schema" msgstr "" -#: ipalib/plugins/migration.py:504 +#: ipalib/plugins/migration.py:490 msgid "" "The schema used on the LDAP server. Supported values are RFC2307 and " "RFC2307bis. The default is RFC2307bis" msgstr "" -#: ipalib/plugins/migration.py:510 +#: ipalib/plugins/migration.py:496 msgid "Continue" msgstr "" -#: ipalib/plugins/migration.py:511 +#: ipalib/plugins/migration.py:497 msgid "" "Continuous operation mode. Errors are reported but the process continues" msgstr "" -#: ipalib/plugins/migration.py:516 +#: ipalib/plugins/migration.py:502 msgid "Base DN" msgstr "" -#: ipalib/plugins/migration.py:517 +#: ipalib/plugins/migration.py:503 msgid "Base DN on remote LDAP server" msgstr "" -#: ipalib/plugins/migration.py:521 +#: ipalib/plugins/migration.py:507 msgid "Ignore compat plugin" msgstr "" -#: ipalib/plugins/migration.py:522 +#: ipalib/plugins/migration.py:508 msgid "Allows migration despite the usage of compat plugin" msgstr "" -#: ipalib/plugins/migration.py:530 +#: ipalib/plugins/migration.py:516 msgid "Lists of objects migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:534 +#: ipalib/plugins/migration.py:520 msgid "Lists of objects that could not be migrated; categorized by type." msgstr "" -#: ipalib/plugins/migration.py:538 +#: ipalib/plugins/migration.py:524 msgid "False if migration mode was disabled." msgstr "" -#: ipalib/plugins/migration.py:542 +#: ipalib/plugins/migration.py:528 msgid "False if migration fails because the compatibility plug-in is enabled." msgstr "" -#: ipalib/plugins/migration.py:546 +#: ipalib/plugins/migration.py:532 #, python-format msgid "comma-separated list of %s to exclude from migration" msgstr "" -#: ipalib/plugins/migration.py:548 +#: ipalib/plugins/migration.py:534 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:553 +#: ipalib/plugins/migration.py:539 msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." msgstr "" -#: ipalib/plugins/migration.py:556 +#: ipalib/plugins/migration.py:542 msgid "" "Passwords have been migrated in pre-hashed format.\n" "IPA is unable to generate Kerberos keys unless provided\n" @@ -6596,14 +7081,14 @@ msgid "" "can use their Kerberos accounts." msgstr "" -#: ipalib/plugins/migration.py:642 +#: ipalib/plugins/migration.py:627 #, python-format msgid "" "%(container)s LDAP search did not return any result (search base: " "%(search_base)s, objectclass: %(objectclass)s)" msgstr "" -#: ipalib/plugins/migration.py:674 ipalib/plugins/user.py:478 +#: ipalib/plugins/migration.py:659 ipalib/plugins/user.py:509 msgid "Default group for new users not found" msgstr "" @@ -6728,52 +7213,52 @@ msgid "" "common namespace" msgstr "" -#: ipalib/plugins/netgroup.py:192 +#: ipalib/plugins/netgroup.py:193 msgid "Delete a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:194 +#: ipalib/plugins/netgroup.py:195 #, python-format msgid "Deleted netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/netgroup.py:200 +#: ipalib/plugins/netgroup.py:201 msgid "Modify a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:203 +#: ipalib/plugins/netgroup.py:204 #, python-format msgid "Modified netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/netgroup.py:220 +#: ipalib/plugins/netgroup.py:222 msgid "Search for a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:225 +#: ipalib/plugins/netgroup.py:227 #, python-format msgid "%(count)d netgroup matched" msgid_plural "%(count)d netgroups matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/netgroup.py:235 +#: ipalib/plugins/netgroup.py:237 msgid "search for managed groups" msgstr "" -#: ipalib/plugins/netgroup.py:257 +#: ipalib/plugins/netgroup.py:260 msgid "Display information about a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:265 +#: ipalib/plugins/netgroup.py:268 msgid "Add members to a netgroup." msgstr "" -#: ipalib/plugins/netgroup.py:278 +#: ipalib/plugins/netgroup.py:284 msgid "Remove members from a netgroup." msgstr "" -#: ipalib/plugins/passwd.py:28 +#: ipalib/plugins/passwd.py:29 msgid "" "\n" "Set a user's password\n" @@ -6794,16 +7279,20 @@ msgid "" " ipa passwd tuser1\n" msgstr "" -#: ipalib/plugins/passwd.py:64 +#: ipalib/plugins/passwd.py:65 msgid "Set a user's password." msgstr "" -#: ipalib/plugins/passwd.py:88 +#: ipalib/plugins/passwd.py:89 #, python-format msgid "Changed password for \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:26 +#: ipalib/plugins/passwd.py:115 +msgid "Invalid credentials" +msgstr "" + +#: ipalib/plugins/permission.py:27 msgid "" "\n" "Permissions\n" @@ -6861,103 +7350,111 @@ msgid "" "\"Manage Group Members\"\n" msgstr "" -#: ipalib/plugins/permission.py:84 +#: ipalib/plugins/permission.py:85 msgid "Permission Type" msgstr "" -#: ipalib/plugins/permission.py:106 +#: ipalib/plugins/permission.py:107 msgid "permission" msgstr "" -#: ipalib/plugins/permission.py:107 +#: ipalib/plugins/permission.py:108 msgid "permissions" msgstr "" -#: ipalib/plugins/permission.py:126 +#: ipalib/plugins/permission.py:127 msgid "Permission name" msgstr "" -#: ipalib/plugins/permission.py:134 +#: ipalib/plugins/permission.py:135 msgid "" "Comma-separated list of permissions to grant (read, write, add, delete, all)" msgstr "" -#: ipalib/plugins/permission.py:149 +#: ipalib/plugins/permission.py:150 msgid "" "Type of IPA object (user, group, host, hostgroup, service, netgroup, dns)" msgstr "" -#: ipalib/plugins/permission.py:155 +#: ipalib/plugins/permission.py:156 msgid "Member of group" msgstr "" -#: ipalib/plugins/permission.py:156 +#: ipalib/plugins/permission.py:157 msgid "Target members of a group" msgstr "" -#: ipalib/plugins/permission.py:168 +#: ipalib/plugins/permission.py:169 msgid "Subtree to apply permissions to" msgstr "" -#: ipalib/plugins/permission.py:174 +#: ipalib/plugins/permission.py:175 msgid "User group to apply permissions to" msgstr "" -#: ipalib/plugins/permission.py:199 +#: ipalib/plugins/permission.py:200 msgid "Add a new permission." msgstr "" -#: ipalib/plugins/permission.py:201 ipalib/plugins/permission.py:255 +#: ipalib/plugins/permission.py:202 ipalib/plugins/permission.py:258 #, python-format msgid "Added permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:253 +#: ipalib/plugins/permission.py:256 msgid "Add a system permission without an ACI" msgstr "" -#: ipalib/plugins/permission.py:261 +#: ipalib/plugins/permission.py:264 msgid "Permission type" msgstr "" -#: ipalib/plugins/permission.py:287 +#: ipalib/plugins/permission.py:291 msgid "Delete a permission." msgstr "" -#: ipalib/plugins/permission.py:289 +#: ipalib/plugins/permission.py:293 #, python-format msgid "Deleted permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:295 +#: ipalib/plugins/permission.py:299 msgid "force delete of SYSTEM permissions" msgstr "" -#: ipalib/plugins/permission.py:313 +#: ipalib/plugins/permission.py:307 +msgid "A SYSTEM permission may not be removed" +msgstr "" + +#: ipalib/plugins/permission.py:319 msgid "Modify a permission." msgstr "" -#: ipalib/plugins/permission.py:315 +#: ipalib/plugins/permission.py:321 #, python-format msgid "Modified permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:344 +#: ipalib/plugins/permission.py:328 +msgid "A SYSTEM permission may not be modified" +msgstr "" + +#: ipalib/plugins/permission.py:355 msgid "New name can not be empty" msgstr "" -#: ipalib/plugins/permission.py:397 +#: ipalib/plugins/permission.py:411 msgid "Search for permissions." msgstr "" -#: ipalib/plugins/permission.py:400 +#: ipalib/plugins/permission.py:414 #, python-format msgid "%(count)d permission matched" msgid_plural "%(count)d permissions matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/permission.py:479 +#: ipalib/plugins/permission.py:493 msgid "Display information about a permission." msgstr "" @@ -6996,7 +7493,7 @@ msgstr "" msgid "Ping a remote server." msgstr "" -#: ipalib/plugins/pkinit.py:25 +#: ipalib/plugins/pkinit.py:26 msgid "" "\n" "Kerberos pkinit options\n" @@ -7018,15 +7515,20 @@ msgid "" "http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit\n" msgstr "" -#: ipalib/plugins/pkinit.py:49 +#: ipalib/plugins/pkinit.py:50 msgid "pkinit" msgstr "" -#: ipalib/plugins/pkinit.py:51 +#: ipalib/plugins/pkinit.py:52 msgid "PKINIT" msgstr "" -#: ipalib/plugins/pkinit.py:67 +#: ipalib/plugins/pkinit.py:64 +#, python-format +msgid "Unknown command %s" +msgstr "" + +#: ipalib/plugins/pkinit.py:68 msgid "Enable or Disable Anonymous PKINIT." msgstr "" @@ -7139,7 +7641,7 @@ msgstr "" msgid "Number of permissions removed" msgstr "" -#: ipalib/plugins/pwpolicy.py:29 +#: ipalib/plugins/pwpolicy.py:30 msgid "" "\n" "Password policy\n" @@ -7185,235 +7687,135 @@ msgid "" " ipa pwpolicy-mod --minclasses=2 localadmins\n" msgstr "" -#: ipalib/plugins/pwpolicy.py:89 +#: ipalib/plugins/pwpolicy.py:90 #, python-format msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" msgstr "" -#: ipalib/plugins/pwpolicy.py:177 +#: ipalib/plugins/pwpolicy.py:179 msgid "password policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:178 +#: ipalib/plugins/pwpolicy.py:180 msgid "password policies" msgstr "" -#: ipalib/plugins/pwpolicy.py:202 +#: ipalib/plugins/pwpolicy.py:204 msgid "Max failures" msgstr "" -#: ipalib/plugins/pwpolicy.py:203 +#: ipalib/plugins/pwpolicy.py:205 msgid "Consecutive failures before lockout" msgstr "" -#: ipalib/plugins/pwpolicy.py:208 +#: ipalib/plugins/pwpolicy.py:210 msgid "Failure reset interval" msgstr "" -#: ipalib/plugins/pwpolicy.py:209 +#: ipalib/plugins/pwpolicy.py:211 msgid "Period after which failure count will be reset (seconds)" msgstr "" -#: ipalib/plugins/pwpolicy.py:214 +#: ipalib/plugins/pwpolicy.py:216 msgid "Lockout duration" msgstr "" -#: ipalib/plugins/pwpolicy.py:215 +#: ipalib/plugins/pwpolicy.py:217 msgid "Period for which lockout is enforced (seconds)" msgstr "" -#: ipalib/plugins/pwpolicy.py:220 +#: ipalib/plugins/pwpolicy.py:222 msgid "Password Policies" msgstr "" -#: ipalib/plugins/pwpolicy.py:226 +#: ipalib/plugins/pwpolicy.py:228 msgid "Group" msgstr "" -#: ipalib/plugins/pwpolicy.py:227 +#: ipalib/plugins/pwpolicy.py:229 msgid "Manage password policy for specific group" msgstr "" -#: ipalib/plugins/pwpolicy.py:232 +#: ipalib/plugins/pwpolicy.py:234 msgid "Max lifetime (days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:233 +#: ipalib/plugins/pwpolicy.py:235 msgid "Maximum password lifetime (in days)" msgstr "" -#: ipalib/plugins/pwpolicy.py:238 +#: ipalib/plugins/pwpolicy.py:240 msgid "Min lifetime (hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:239 +#: ipalib/plugins/pwpolicy.py:241 msgid "Minimum password lifetime (in hours)" msgstr "" -#: ipalib/plugins/pwpolicy.py:244 +#: ipalib/plugins/pwpolicy.py:246 msgid "History size" msgstr "" -#: ipalib/plugins/pwpolicy.py:245 +#: ipalib/plugins/pwpolicy.py:247 msgid "Password history size" msgstr "" -#: ipalib/plugins/pwpolicy.py:250 +#: ipalib/plugins/pwpolicy.py:252 msgid "Character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:251 +#: ipalib/plugins/pwpolicy.py:253 msgid "Minimum number of character classes" msgstr "" -#: ipalib/plugins/pwpolicy.py:257 +#: ipalib/plugins/pwpolicy.py:259 msgid "Min length" msgstr "" -#: ipalib/plugins/pwpolicy.py:258 +#: ipalib/plugins/pwpolicy.py:260 msgid "Minimum length of password" msgstr "" -#: ipalib/plugins/pwpolicy.py:264 +#: ipalib/plugins/pwpolicy.py:266 msgid "Priority of the policy (higher number means lower priority" msgstr "" -#: ipalib/plugins/pwpolicy.py:317 +#: ipalib/plugins/pwpolicy.py:319 msgid "Maximum password life must be greater than minimum." msgstr "" -#: ipalib/plugins/pwpolicy.py:336 +#: ipalib/plugins/pwpolicy.py:338 msgid "Add a new group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:361 +#: ipalib/plugins/pwpolicy.py:365 msgid "Delete a group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:372 +#: ipalib/plugins/pwpolicy.py:377 msgid "cannot delete global password policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:387 +#: ipalib/plugins/pwpolicy.py:393 msgid "Modify a group password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:397 +#: ipalib/plugins/pwpolicy.py:404 msgid "priority cannot be set on global policy" msgstr "" -#: ipalib/plugins/pwpolicy.py:429 +#: ipalib/plugins/pwpolicy.py:437 msgid "Display information about password policy." msgstr "" -#: ipalib/plugins/pwpolicy.py:434 +#: ipalib/plugins/pwpolicy.py:442 msgid "Display effective policy for a specific user" msgstr "" -#: ipalib/plugins/pwpolicy.py:457 +#: ipalib/plugins/pwpolicy.py:467 msgid "Search for group password policies." msgstr "" -#: ipalib/plugins/range.py:29 -msgid "" -"\n" -"Manage ID ranges\n" -msgstr "" - -#: ipalib/plugins/range.py:48 -msgid "Ranges" -msgstr "" - -#: ipalib/plugins/range.py:49 -msgid "Range" -msgstr "" - -#: ipalib/plugins/range.py:54 -msgid "Range name" -msgstr "" - -#: ipalib/plugins/range.py:59 -msgid "First Posix ID of the range" -msgstr "" - -#: ipalib/plugins/range.py:63 -msgid "Number of IDs in the range" -msgstr "" - -#: ipalib/plugins/range.py:67 -msgid "First RID of the corresponding RID range" -msgstr "" - -#: ipalib/plugins/range.py:71 -msgid "First RID of the secondary RID range" -msgstr "" - -#: ipalib/plugins/range.py:75 -msgid "Domain SID of the trusted domain" -msgstr "" - -#: ipalib/plugins/range.py:78 -msgid "Range type" -msgstr "" - -#: ipalib/plugins/range.py:86 -msgid "Active Directory domain range" -msgstr "" - -#: ipalib/plugins/range.py:88 -msgid "local domain range" -msgstr "" - -#: ipalib/plugins/range.py:94 -msgid "Add new ID range." -msgstr "" - -#: ipalib/plugins/range.py:96 -#, python-format -msgid "Added ID range \"%(value)s\"" -msgstr "" - -#: ipalib/plugins/range.py:101 -msgid "Range setup" -msgstr "" - -#: ipalib/plugins/range.py:102 -msgid "Ranges for local domain must have a secondary RID base" -msgstr "" - -#: ipalib/plugins/range.py:117 -msgid "Delete an ID range." -msgstr "" - -#: ipalib/plugins/range.py:119 -#, python-format -msgid "Deleted ID range \"%(value)s\"" -msgstr "" - -#: ipalib/plugins/range.py:122 -msgid "Search for ranges." -msgstr "" - -#: ipalib/plugins/range.py:125 -#, python-format -msgid "%(count)d range matched" -msgid_plural "%(count)d ranges matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/range.py:140 -msgid "Display information about a range." -msgstr "" - -#: ipalib/plugins/range.py:151 -msgid "Modify ID range." -msgstr "" - -#: ipalib/plugins/range.py:153 -#, python-format -msgid "Modified ID range \"%(value)s\"" -msgstr "" - #: ipalib/plugins/role.py:26 msgid "" "\n" @@ -7654,10 +8056,10 @@ msgid "" " Create a rule, \"test2\", that sets all users to guest_u:s0 and uses an " "existing HBAC rule for users and hosts:\n" " ipa selinuxusermap-add --usercat=all --hbacrule=webserver --" -"selinuxuser=guest_u:s0 test1\n" +"selinuxuser=guest_u:s0 test2\n" "\n" -" Display the properties of a named HBAC rule:\n" -" ipa selinuxusermap-show test1\n" +" Display the properties of a rule:\n" +" ipa selinuxusermap-show test2\n" "\n" " Create a rule for a specific user. This sets the SELinux context for\n" " user john to unconfined_u:s0-s0:c0.c1023 on any machine:\n" @@ -7665,16 +8067,16 @@ msgid "" "c1023 john_unconfined\n" " ipa selinuxusermap-add-user --users=john john_unconfined\n" "\n" -" Disable a named rule:\n" +" Disable a rule:\n" " ipa selinuxusermap-disable test1\n" "\n" -" Enable a named rule:\n" +" Enable a rule:\n" " ipa selinuxusermap-enable test1\n" "\n" " Find a rule referencing a specific HBAC rule:\n" " ipa selinuxusermap-find --hbacrule=allow_some\n" "\n" -" Remove a named rule:\n" +" Remove a rule:\n" " ipa selinuxusermap-del john_unconfined\n" "\n" "SEEALSO:\n" @@ -7687,130 +8089,130 @@ msgstr "" msgid "HBAC rule and local members cannot both be set" msgstr "" -#: ipalib/plugins/selinuxusermap.py:94 +#: ipalib/plugins/selinuxusermap.py:97 msgid "Invalid SELinux user name, only a-Z and _ are allowed" msgstr "" -#: ipalib/plugins/selinuxusermap.py:96 +#: ipalib/plugins/selinuxusermap.py:99 msgid "Invalid MLS value, must match s[0-15](-s[0-15])" msgstr "" -#: ipalib/plugins/selinuxusermap.py:98 +#: ipalib/plugins/selinuxusermap.py:102 msgid "" "Invalid MCS value, must match c[0-1023].c[0-1023] and/or c[0-1023]-c[0-c0123]" msgstr "" -#: ipalib/plugins/selinuxusermap.py:111 +#: ipalib/plugins/selinuxusermap.py:115 msgid "SELinux user map list not found in configuration" msgstr "" -#: ipalib/plugins/selinuxusermap.py:114 +#: ipalib/plugins/selinuxusermap.py:118 #, python-format msgid "SELinux user %(user)s not found in ordering list (in config)" msgstr "" -#: ipalib/plugins/selinuxusermap.py:123 +#: ipalib/plugins/selinuxusermap.py:127 msgid "SELinux User Map rule" msgstr "" -#: ipalib/plugins/selinuxusermap.py:124 +#: ipalib/plugins/selinuxusermap.py:128 msgid "SELinux User Map rules" msgstr "" -#: ipalib/plugins/selinuxusermap.py:141 +#: ipalib/plugins/selinuxusermap.py:145 msgid "SELinux User Maps" msgstr "" -#: ipalib/plugins/selinuxusermap.py:142 +#: ipalib/plugins/selinuxusermap.py:146 msgid "SELinux User Map" msgstr "" -#: ipalib/plugins/selinuxusermap.py:152 +#: ipalib/plugins/selinuxusermap.py:156 msgid "SELinux User" msgstr "" -#: ipalib/plugins/selinuxusermap.py:157 +#: ipalib/plugins/selinuxusermap.py:161 msgid "HBAC Rule that defines the users, groups and hostgroups" msgstr "" -#: ipalib/plugins/selinuxusermap.py:213 +#: ipalib/plugins/selinuxusermap.py:217 #, python-format msgid "HBAC rule %(rule)s not found" msgstr "" -#: ipalib/plugins/selinuxusermap.py:232 +#: ipalib/plugins/selinuxusermap.py:236 msgid "Create a new SELinux User Map." msgstr "" -#: ipalib/plugins/selinuxusermap.py:234 +#: ipalib/plugins/selinuxusermap.py:238 #, python-format msgid "Added SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/selinuxusermap.py:254 +#: ipalib/plugins/selinuxusermap.py:260 msgid "Delete a SELinux User Map." msgstr "" -#: ipalib/plugins/selinuxusermap.py:256 +#: ipalib/plugins/selinuxusermap.py:262 #, python-format msgid "Deleted SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/selinuxusermap.py:262 +#: ipalib/plugins/selinuxusermap.py:268 msgid "Modify a SELinux User Map." msgstr "" -#: ipalib/plugins/selinuxusermap.py:264 +#: ipalib/plugins/selinuxusermap.py:270 #, python-format msgid "Modified SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/selinuxusermap.py:298 +#: ipalib/plugins/selinuxusermap.py:308 msgid "Search for SELinux User Maps." msgstr "" -#: ipalib/plugins/selinuxusermap.py:301 +#: ipalib/plugins/selinuxusermap.py:311 #, python-format msgid "%(count)d SELinux User Map matched" msgid_plural "%(count)d SELinux User Maps matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/selinuxusermap.py:331 +#: ipalib/plugins/selinuxusermap.py:341 msgid "Display the properties of a SELinux User Map rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:341 +#: ipalib/plugins/selinuxusermap.py:352 msgid "Enable an SELinux User Map rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:343 +#: ipalib/plugins/selinuxusermap.py:354 #, python-format msgid "Enabled SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/selinuxusermap.py:368 +#: ipalib/plugins/selinuxusermap.py:379 msgid "Disable an SELinux User Map rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:370 +#: ipalib/plugins/selinuxusermap.py:381 #, python-format msgid "Disabled SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/selinuxusermap.py:395 +#: ipalib/plugins/selinuxusermap.py:406 msgid "Add users and groups to an SELinux User Map rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:416 +#: ipalib/plugins/selinuxusermap.py:429 msgid "Remove users and groups from an SELinux User Map rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:425 +#: ipalib/plugins/selinuxusermap.py:438 msgid "Add target hosts and hostgroups to an SELinux User Map rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:446 +#: ipalib/plugins/selinuxusermap.py:461 msgid "Remove target hosts and hostgroups from an SELinux User Map rule." msgstr "" @@ -7868,81 +8270,102 @@ msgid "" "\n" msgstr "" -#: ipalib/plugins/service.py:213 +#: ipalib/plugins/service.py:129 +msgid "missing service" +msgstr "" + +#: ipalib/plugins/service.py:133 +msgid "blank service" +msgstr "" + +#: ipalib/plugins/service.py:137 +msgid "unable to determine realm" +msgstr "" + +#: ipalib/plugins/service.py:210 msgid "This principal is required by the IPA master" msgstr "" -#: ipalib/plugins/service.py:220 +#: ipalib/plugins/service.py:217 msgid "service" msgstr "" -#: ipalib/plugins/service.py:221 +#: ipalib/plugins/service.py:218 msgid "services" msgstr "" -#: ipalib/plugins/service.py:245 +#: ipalib/plugins/service.py:243 msgid "Service principal" msgstr "" -#: ipalib/plugins/service.py:261 +#: ipalib/plugins/service.py:256 +msgid "Types of PAC this service supports" +msgstr "" + +#: ipalib/plugins/service.py:266 msgid "Add a new IPA new service." msgstr "" -#: ipalib/plugins/service.py:263 +#: ipalib/plugins/service.py:268 #, python-format msgid "Added service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:269 +#: ipalib/plugins/service.py:274 msgid "force principal name even if not in DNS" msgstr "" -#: ipalib/plugins/service.py:307 +#: ipalib/plugins/service.py:287 +#, python-format +msgid "The host '%s' does not exist to add a service to." +msgstr "" + +#: ipalib/plugins/service.py:320 msgid "Delete an IPA service." msgstr "" -#: ipalib/plugins/service.py:309 +#: ipalib/plugins/service.py:322 #, python-format msgid "Deleted service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:348 +#: ipalib/plugins/service.py:365 msgid "Modify an existing IPA service." msgstr "" -#: ipalib/plugins/service.py:350 +#: ipalib/plugins/service.py:367 #, python-format msgid "Modified service \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:382 +#: ipalib/plugins/service.py:406 msgid "Search for IPA services." msgstr "" -#: ipalib/plugins/service.py:385 +#: ipalib/plugins/service.py:409 #, python-format msgid "%(count)d service matched" msgid_plural "%(count)d services matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/service.py:418 +#: ipalib/plugins/service.py:443 msgid "Display information about an IPA service." msgstr "" -#: ipalib/plugins/service.py:451 +#: ipalib/plugins/service.py:477 msgid "Add hosts that can manage this service." msgstr "" -#: ipalib/plugins/service.py:460 +#: ipalib/plugins/service.py:486 msgid "Remove hosts that can manage this service." msgstr "" -#: ipalib/plugins/service.py:469 +#: ipalib/plugins/service.py:495 msgid "Disable the Kerberos key and SSL certificate of a service." msgstr "" -#: ipalib/plugins/service.py:472 +#: ipalib/plugins/service.py:498 #, python-format msgid "Disabled service \"%(value)s\"" msgstr "" @@ -8266,8 +8689,8 @@ msgstr "" msgid "External Group the commands can run as (sudorule-find only)" msgstr "" -#: ipalib/plugins/sudorule.py:212 ipalib/plugins/sudorule.py:595 -#: ipalib/plugins/sudorule.py:647 +#: ipalib/plugins/sudorule.py:212 ipalib/plugins/sudorule.py:611 +#: ipalib/plugins/sudorule.py:663 msgid "Sudo Option" msgstr "" @@ -8288,336 +8711,356 @@ msgstr "" msgid "Create new Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:254 +#: ipalib/plugins/sudorule.py:255 #, python-format msgid "Added Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:260 +#: ipalib/plugins/sudorule.py:261 msgid "Delete Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:262 +#: ipalib/plugins/sudorule.py:263 #, python-format msgid "Deleted Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:268 +#: ipalib/plugins/sudorule.py:269 msgid "Modify Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:270 +#: ipalib/plugins/sudorule.py:271 #, python-format msgid "Modified Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:287 -msgid "user category cannot be set to 'all' while there are users" -msgstr "" - -#: ipalib/plugins/sudorule.py:289 -msgid "host category cannot be set to 'all' while there are hosts" -msgstr "" - -#: ipalib/plugins/sudorule.py:292 +#: ipalib/plugins/sudorule.py:294 msgid "" "command category cannot be set to 'all' while there are allow or deny " "commands" msgstr "" -#: ipalib/plugins/sudorule.py:294 +#: ipalib/plugins/sudorule.py:296 msgid "user runAs category cannot be set to 'all' while there are users" msgstr "" -#: ipalib/plugins/sudorule.py:296 +#: ipalib/plugins/sudorule.py:298 msgid "group runAs category cannot be set to 'all' while there are groups" msgstr "" -#: ipalib/plugins/sudorule.py:304 +#: ipalib/plugins/sudorule.py:306 msgid "Search for Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:307 +#: ipalib/plugins/sudorule.py:309 #, python-format msgid "%(count)d Sudo Rule matched" msgid_plural "%(count)d Sudo Rules matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/sudorule.py:314 +#: ipalib/plugins/sudorule.py:316 msgid "Display Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:320 +#: ipalib/plugins/sudorule.py:322 msgid "Enable a Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:338 +#: ipalib/plugins/sudorule.py:340 #, python-format msgid "Enabled Sudo Rule \"%s\"" msgstr "" -#: ipalib/plugins/sudorule.py:344 +#: ipalib/plugins/sudorule.py:346 msgid "Disable a Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:362 +#: ipalib/plugins/sudorule.py:364 #, python-format msgid "Disabled Sudo Rule \"%s\"" msgstr "" -#: ipalib/plugins/sudorule.py:368 ipalib/plugins/sudorule.py:396 +#: ipalib/plugins/sudorule.py:370 ipalib/plugins/sudorule.py:399 msgid "Add commands and sudo command groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:379 ipalib/plugins/sudorule.py:407 +#: ipalib/plugins/sudorule.py:382 ipalib/plugins/sudorule.py:411 msgid "commands cannot be added when command category='all'" msgstr "" -#: ipalib/plugins/sudorule.py:387 ipalib/plugins/sudorule.py:414 +#: ipalib/plugins/sudorule.py:390 ipalib/plugins/sudorule.py:418 msgid "Remove commands and sudo command groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:423 +#: ipalib/plugins/sudorule.py:427 msgid "Add users and groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:434 -msgid "users cannot be added when user category='all'" -msgstr "" - -#: ipalib/plugins/sudorule.py:444 +#: ipalib/plugins/sudorule.py:450 msgid "Remove users and groups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:456 +#: ipalib/plugins/sudorule.py:463 msgid "Add hosts and hostgroups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:467 -msgid "hosts cannot be added when host category='all'" -msgstr "" - -#: ipalib/plugins/sudorule.py:477 +#: ipalib/plugins/sudorule.py:486 msgid "Remove hosts and hostgroups affected by Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:488 +#: ipalib/plugins/sudorule.py:498 msgid "Add users and groups for Sudo to execute as." msgstr "" -#: ipalib/plugins/sudorule.py:506 ipalib/plugins/sudorule.py:560 +#: ipalib/plugins/sudorule.py:517 ipalib/plugins/sudorule.py:574 msgid "users cannot be added when runAs user or runAs group category='all'" msgstr "" -#: ipalib/plugins/sudorule.py:512 +#: ipalib/plugins/sudorule.py:523 #, python-format msgid "RunAsUser does not accept '%(name)s' as a user name" msgstr "" -#: ipalib/plugins/sudorule.py:518 +#: ipalib/plugins/sudorule.py:529 #, python-format msgid "RunAsUser does not accept '%(name)s' as a group name" msgstr "" -#: ipalib/plugins/sudorule.py:530 +#: ipalib/plugins/sudorule.py:542 msgid "Remove users and groups for Sudo to execute as." msgstr "" -#: ipalib/plugins/sudorule.py:542 +#: ipalib/plugins/sudorule.py:555 msgid "Add group for Sudo to execute as." msgstr "" -#: ipalib/plugins/sudorule.py:566 +#: ipalib/plugins/sudorule.py:580 #, python-format msgid "RunAsGroup does not accept '%(name)s' as a group name" msgstr "" -#: ipalib/plugins/sudorule.py:578 +#: ipalib/plugins/sudorule.py:593 msgid "Remove group for Sudo to execute as." msgstr "" -#: ipalib/plugins/sudorule.py:590 +#: ipalib/plugins/sudorule.py:606 msgid "Add an option to the Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:632 +#: ipalib/plugins/sudorule.py:648 #, python-format msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:642 +#: ipalib/plugins/sudorule.py:658 msgid "Remove an option from Sudo Rule." msgstr "" -#: ipalib/plugins/sudorule.py:687 +#: ipalib/plugins/sudorule.py:703 #, python-format msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\"" msgstr "" -#: ipalib/plugins/trust.py:34 +#: ipalib/plugins/trust.py:40 msgid "" "\n" "Manage trust relationship between realms\n" msgstr "" -#: ipalib/plugins/trust.py:51 +#: ipalib/plugins/trust.py:57 msgid "Non-Active Directory domain" msgstr "" -#: ipalib/plugins/trust.py:52 -msgid "Active Directory domain" -msgstr "" - -#: ipalib/plugins/trust.py:53 +#: ipalib/plugins/trust.py:59 msgid "RFC4120-compliant Kerberos realm" msgstr "" -#: ipalib/plugins/trust.py:54 +#: ipalib/plugins/trust.py:60 msgid "Trusting forest" msgstr "" -#: ipalib/plugins/trust.py:55 +#: ipalib/plugins/trust.py:61 msgid "Trusted forest" msgstr "" -#: ipalib/plugins/trust.py:56 +#: ipalib/plugins/trust.py:62 msgid "Two-way trust" msgstr "" -#: ipalib/plugins/trust.py:57 +#: ipalib/plugins/trust.py:63 msgid "Established and verified" msgstr "" -#: ipalib/plugins/trust.py:58 +#: ipalib/plugins/trust.py:64 msgid "Waiting for confirmation by remote side" msgstr "" -#: ipalib/plugins/trust.py:59 +#: ipalib/plugins/trust.py:65 msgid "Unknown" msgstr "" -#: ipalib/plugins/trust.py:90 +#: ipalib/plugins/trust.py:96 msgid "trust" msgstr "" -#: ipalib/plugins/trust.py:91 +#: ipalib/plugins/trust.py:97 msgid "trusts" msgstr "" -#: ipalib/plugins/trust.py:98 +#: ipalib/plugins/trust.py:106 msgid "Trusts" msgstr "" -#: ipalib/plugins/trust.py:99 +#: ipalib/plugins/trust.py:107 msgid "Trust" msgstr "" -#: ipalib/plugins/trust.py:104 ipa-client/ipa-rmkeytab.c:176 +#: ipalib/plugins/trust.py:112 ipa-client/ipa-rmkeytab.c:176 msgid "Realm name" msgstr "" -#: ipalib/plugins/trust.py:116 +#: ipalib/plugins/trust.py:125 msgid "Add new trust to use" msgstr "" -#: ipalib/plugins/trust.py:121 +#: ipalib/plugins/trust.py:130 msgid "Trust type (ad for Active Directory, default)" msgstr "" -#: ipalib/plugins/trust.py:128 +#: ipalib/plugins/trust.py:137 msgid "Active Directory domain administrator" msgstr "" -#: ipalib/plugins/trust.py:132 +#: ipalib/plugins/trust.py:141 msgid "Active directory domain adminstrator's password" msgstr "" -#: ipalib/plugins/trust.py:137 +#: ipalib/plugins/trust.py:146 msgid "Domain controller for the Active Directory domain (optional)" msgstr "" -#: ipalib/plugins/trust.py:141 +#: ipalib/plugins/trust.py:150 msgid "Shared secret for the trust" msgstr "" -#: ipalib/plugins/trust.py:147 +#: ipalib/plugins/trust.py:155 +msgid "First Posix ID of the range reserved for the trusted domain" +msgstr "" + +#: ipalib/plugins/trust.py:159 +msgid "Size of the ID range reserved for the trusted domain" +msgstr "" + +#: ipalib/plugins/trust.py:165 #, python-format msgid "Added Active Directory trust for realm \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:154 ipalib/plugins/trust.py:156 +#: ipalib/plugins/trust.py:170 +msgid "missing base_id" +msgstr "" + +#: ipalib/plugins/trust.py:171 +msgid "pysss_murmur is not available on the server and no base-id is given." +msgstr "" + +#: ipalib/plugins/trust.py:178 ipalib/plugins/trust.py:180 msgid "trust type" msgstr "" -#: ipalib/plugins/trust.py:154 +#: ipalib/plugins/trust.py:178 msgid "only \"ad\" is supported" msgstr "" -#: ipalib/plugins/trust.py:165 +#: ipalib/plugins/trust.py:213 +msgid "range exists" +msgstr "" + +#: ipalib/plugins/trust.py:214 +msgid "" +"ID range with the same name but different domain SID already exists. The ID " +"range for the new trusted domain must be created manually." +msgstr "" + +#: ipalib/plugins/trust.py:230 +msgid "ID range exists" +msgstr "" + +#: ipalib/plugins/trust.py:231 +msgid "ID range already exists, must be added manually" +msgstr "" + +#: ipalib/plugins/trust.py:239 msgid "" "Cannot perform join operation without Samba 4 support installed.\n" " Make sure you have installed server-trust-ad " "sub-package of IPA" msgstr "" -#: ipalib/plugins/trust.py:176 +#: ipalib/plugins/trust.py:250 msgid "" "Cannot perform join operation without own domain configured.\n" " Make sure you have run ipa-adtrust-install on " "the IPA server first" msgstr "" -#: ipalib/plugins/trust.py:189 +#: ipalib/plugins/trust.py:263 msgid "Trusted domain and administrator account use different realms" msgstr "" -#: ipalib/plugins/trust.py:193 +#: ipalib/plugins/trust.py:267 msgid "Realm administrator password should be specified" msgstr "" -#: ipalib/plugins/trust.py:199 +#: ipalib/plugins/trust.py:273 msgid "Unable to verify write permissions to the AD" msgstr "" -#: ipalib/plugins/trust.py:209 +#: ipalib/plugins/trust.py:283 msgid "Not enough arguments specified to perform trust setup" msgstr "" -#: ipalib/plugins/trust.py:212 +#: ipalib/plugins/trust.py:286 msgid "Delete a trust." msgstr "" -#: ipalib/plugins/trust.py:214 +#: ipalib/plugins/trust.py:288 #, python-format msgid "Deleted trust \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:224 -msgid "Modify a trust." +#: ipalib/plugins/trust.py:299 +msgid "" +"\n" +" Modify a trust (for future use).\n" +"\n" +" Currently only the default option to modify the LDAP attributes are\n" +" available. More specific options will be added in coming releases.\n" +" " msgstr "" -#: ipalib/plugins/trust.py:226 +#: ipalib/plugins/trust.py:306 #, python-format msgid "Modified trust \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:239 +#: ipalib/plugins/trust.py:320 msgid "Search for trusts." msgstr "" -#: ipalib/plugins/trust.py:242 +#: ipalib/plugins/trust.py:324 #, python-format msgid "%(count)d trust matched" msgid_plural "%(count)d trusts matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/trust.py:251 +#: ipalib/plugins/trust.py:344 msgid "Display information about a trust." msgstr "" -#: ipalib/plugins/user.py:37 +#: ipalib/plugins/user.py:39 msgid "" "\n" "Users\n" @@ -8663,241 +9106,250 @@ msgid "" " ipa user-del tuser1\n" msgstr "" -#: ipalib/plugins/user.py:86 +#: ipalib/plugins/user.py:88 msgid "Kerberos keys available" msgstr "" -#: ipalib/plugins/user.py:92 +#: ipalib/plugins/user.py:97 msgid "Server" msgstr "" -#: ipalib/plugins/user.py:95 +#: ipalib/plugins/user.py:100 msgid "Failed logins" msgstr "" -#: ipalib/plugins/user.py:98 +#: ipalib/plugins/user.py:103 msgid "Last successful authentication" msgstr "" -#: ipalib/plugins/user.py:101 +#: ipalib/plugins/user.py:106 msgid "Last failed authentication" msgstr "" -#: ipalib/plugins/user.py:104 +#: ipalib/plugins/user.py:109 msgid "Time now" msgstr "" -#: ipalib/plugins/user.py:174 +#: ipalib/plugins/user.py:124 +msgid "must be TRUE or FALSE" +msgstr "" + +#: ipalib/plugins/user.py:196 msgid "user" msgstr "" -#: ipalib/plugins/user.py:175 +#: ipalib/plugins/user.py:197 msgid "users" msgstr "" -#: ipalib/plugins/user.py:211 +#: ipalib/plugins/user.py:233 msgid "User login" msgstr "" -#: ipalib/plugins/user.py:218 +#: ipalib/plugins/user.py:240 msgid "First name" msgstr "" -#: ipalib/plugins/user.py:222 +#: ipalib/plugins/user.py:244 msgid "Last name" msgstr "" -#: ipalib/plugins/user.py:225 +#: ipalib/plugins/user.py:247 msgid "Full name" msgstr "" -#: ipalib/plugins/user.py:230 +#: ipalib/plugins/user.py:252 msgid "Display name" msgstr "" -#: ipalib/plugins/user.py:235 +#: ipalib/plugins/user.py:257 msgid "Initials" msgstr "" -#: ipalib/plugins/user.py:241 +#: ipalib/plugins/user.py:263 msgid "Home directory" msgstr "" -#: ipalib/plugins/user.py:244 +#: ipalib/plugins/user.py:266 msgid "GECOS field" msgstr "" -#: ipalib/plugins/user.py:250 +#: ipalib/plugins/user.py:272 msgid "Login shell" msgstr "" -#: ipalib/plugins/user.py:254 +#: ipalib/plugins/user.py:276 msgid "Kerberos principal" msgstr "" -#: ipalib/plugins/user.py:262 +#: ipalib/plugins/user.py:284 msgid "Email address" msgstr "" -#: ipalib/plugins/user.py:267 +#: ipalib/plugins/user.py:289 msgid "Prompt to set the user password" msgstr "" -#: ipalib/plugins/user.py:273 +#: ipalib/plugins/user.py:295 msgid "Generate a random user password" msgstr "" -#: ipalib/plugins/user.py:283 +#: ipalib/plugins/user.py:305 msgid "UID" msgstr "" -#: ipalib/plugins/user.py:284 +#: ipalib/plugins/user.py:306 msgid "User ID Number (system will assign one if not provided)" msgstr "" -#: ipalib/plugins/user.py:291 +#: ipalib/plugins/user.py:313 msgid "Group ID Number" msgstr "" -#: ipalib/plugins/user.py:298 +#: ipalib/plugins/user.py:320 msgid "Street address" msgstr "" -#: ipalib/plugins/user.py:302 +#: ipalib/plugins/user.py:324 msgid "City" msgstr "" -#: ipalib/plugins/user.py:306 +#: ipalib/plugins/user.py:328 msgid "State/Province" msgstr "" -#: ipalib/plugins/user.py:309 +#: ipalib/plugins/user.py:331 msgid "ZIP" msgstr "" -#: ipalib/plugins/user.py:313 +#: ipalib/plugins/user.py:335 msgid "Telephone Number" msgstr "" -#: ipalib/plugins/user.py:316 +#: ipalib/plugins/user.py:338 msgid "Mobile Telephone Number" msgstr "" -#: ipalib/plugins/user.py:319 +#: ipalib/plugins/user.py:341 msgid "Pager Number" msgstr "" -#: ipalib/plugins/user.py:323 +#: ipalib/plugins/user.py:345 msgid "Fax Number" msgstr "" -#: ipalib/plugins/user.py:327 +#: ipalib/plugins/user.py:349 msgid "Org. Unit" msgstr "" -#: ipalib/plugins/user.py:330 +#: ipalib/plugins/user.py:352 msgid "Job Title" msgstr "" -#: ipalib/plugins/user.py:333 +#: ipalib/plugins/user.py:355 msgid "Manager" msgstr "" -#: ipalib/plugins/user.py:336 +#: ipalib/plugins/user.py:358 msgid "Car License" msgstr "" -#: ipalib/plugins/user.py:339 +#: ipalib/plugins/user.py:361 msgid "Account disabled" msgstr "" -#: ipalib/plugins/user.py:390 +#: ipalib/plugins/user.py:388 ipalib/plugins/user.py:392 +#, python-format +msgid "invalid e-mail format: %(email)s" +msgstr "" + +#: ipalib/plugins/user.py:418 #, python-format msgid "manager %(manager)s not found" msgstr "" -#: ipalib/plugins/user.py:409 +#: ipalib/plugins/user.py:437 msgid "Add a new user." msgstr "" -#: ipalib/plugins/user.py:411 +#: ipalib/plugins/user.py:439 #, python-format msgid "Added user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:418 +#: ipalib/plugins/user.py:446 msgid "Don't create user private group" msgstr "" -#: ipalib/plugins/user.py:448 ipalib/plugins/user.py:571 +#: ipalib/plugins/user.py:477 ipalib/plugins/user.py:607 #, python-format msgid "can be at most %(len)d characters" msgstr "" -#: ipalib/plugins/user.py:481 +#: ipalib/plugins/user.py:512 msgid "Default group for new users is not POSIX" msgstr "" -#: ipalib/plugins/user.py:542 +#: ipalib/plugins/user.py:580 msgid "Delete a user." msgstr "" -#: ipalib/plugins/user.py:544 +#: ipalib/plugins/user.py:582 #, python-format msgid "Deleted user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:558 +#: ipalib/plugins/user.py:593 msgid "Modify a user." msgstr "" -#: ipalib/plugins/user.py:560 +#: ipalib/plugins/user.py:595 #, python-format msgid "Modified user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:611 +#: ipalib/plugins/user.py:648 msgid "Search for users." msgstr "" -#: ipalib/plugins/user.py:618 +#: ipalib/plugins/user.py:655 msgid "Self" msgstr "" -#: ipalib/plugins/user.py:619 +#: ipalib/plugins/user.py:656 msgid "Display user record for current Kerberos principal" msgstr "" -#: ipalib/plugins/user.py:642 +#: ipalib/plugins/user.py:687 #, python-format msgid "%(count)d user matched" msgid_plural "%(count)d users matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/user.py:649 +#: ipalib/plugins/user.py:694 msgid "Display information about a user." msgstr "" -#: ipalib/plugins/user.py:664 +#: ipalib/plugins/user.py:710 msgid "Disable a user account." msgstr "" -#: ipalib/plugins/user.py:667 +#: ipalib/plugins/user.py:713 #, python-format msgid "Disabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:685 +#: ipalib/plugins/user.py:732 msgid "Enable a user account." msgstr "" -#: ipalib/plugins/user.py:689 +#: ipalib/plugins/user.py:736 #, python-format msgid "Enabled user account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:706 +#: ipalib/plugins/user.py:753 msgid "" "\n" " Unlock a user account\n" @@ -8909,12 +9361,12 @@ msgid "" " an administrator." msgstr "" -#: ipalib/plugins/user.py:715 +#: ipalib/plugins/user.py:762 #, python-format msgid "Unlocked account \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:731 +#: ipalib/plugins/user.py:778 msgid "" "\n" " Lockout status of a user account\n" @@ -8943,86 +9395,120 @@ msgid "" " means that the user may attempt a login again. " msgstr "" -#: ipalib/plugins/user.py:790 +#: ipalib/plugins/user.py:837 #, python-format msgid "%(host)s failed: %(error)s" msgstr "" -#: ipalib/plugins/user.py:828 +#: ipalib/plugins/user.py:875 #, python-format msgid "%(host)s failed" msgstr "" -#: ipalib/plugins/user.py:838 +#: ipalib/plugins/user.py:885 #, python-format msgid "Account disabled: %(disabled)s" msgstr "" +#: ipalib/plugins/virtual.py:52 +msgid "operation not defined" +msgstr "" + +#: ipalib/plugins/virtual.py:67 +msgid "No such virtual command" +msgstr "" + +#: ipalib/rpc.py:491 +msgid "any of the configured servers" +msgstr "" + #: ipalib/session.py:775 ipalib/session.py:878 msgid "could not allocate unique new session_id" msgstr "" -#: ipalib/util.py:150 +#: ipalib/util.py:149 +msgid "Filename is empty" +msgstr "" + +#: ipalib/util.py:153 #, python-format msgid "Permission denied: %(file)s" msgstr "" -#: ipalib/util.py:182 +#: ipalib/util.py:185 msgid "empty DNS label" msgstr "" -#: ipalib/util.py:185 +#: ipalib/util.py:188 msgid "DNS label cannot be longer that 63 characters" msgstr "" -#: ipalib/util.py:188 +#: ipalib/util.py:191 #, python-format msgid "" "only letters, numbers,%(underscore)s and - are allowed. DNS label may not " "start or end with -" msgstr "" -#: ipalib/util.py:203 +#: ipalib/util.py:206 msgid "top level domain label must be alphabetic" msgstr "" -#: ipalib/util.py:209 +#: ipalib/util.py:212 msgid "" "mail account may only include letters, numbers, -, _ and a dot. There may " "not be consecutive -, _ and . characters. Its parts may not start or end " "with - or _" msgstr "" -#: ipalib/util.py:215 ipalib/util.py:254 +#: ipalib/util.py:218 ipalib/util.py:257 msgid "cannot be longer that 255 characters" msgstr "" -#: ipalib/util.py:223 +#: ipalib/util.py:226 msgid "too many '@' characters" msgstr "" -#: ipalib/util.py:236 +#: ipalib/util.py:239 msgid "missing address domain" msgstr "" -#: ipalib/util.py:241 +#: ipalib/util.py:244 msgid "missing mail account" msgstr "" -#: ipalib/util.py:261 +#: ipalib/util.py:264 msgid "not fully qualified" msgstr "" -#: ipalib/util.py:270 +#: ipalib/util.py:276 ipalib/util.py:282 msgid "invalid SSH public key" msgstr "" -#: ipalib/x509.py:227 +#: ipalib/util.py:285 +msgid "options are not allowed" +msgstr "" + +#: ipalib/x509.py:199 +msgid "improperly formatted DER-encoded certificate" +msgstr "" + +#: ipalib/x509.py:236 #, python-format msgid "Issuer \"%(issuer)s\" does not match the expected issuer" msgstr "" -#: ipaserver/dcerpc.py:45 +#: ipapython/dogtag.py:58 +#, python-format +msgid "Retrieving CA cert chain failed: %s" +msgstr "" + +#: ipapython/dogtag.py:64 +#, python-format +msgid "request failed with HTTP status %d" +msgstr "" + +#: ipaserver/dcerpc.py:46 msgid "" "\n" "Classes to manage trust joins using DCE-RPC calls\n" @@ -9031,9 +9517,54 @@ msgid "" "and Samba4 python bindings.\n" msgstr "" -#: ipaserver/plugins/dogtag.py:1375 ipaserver/plugins/dogtag.py:1460 -#: ipaserver/plugins/dogtag.py:1526 ipaserver/plugins/dogtag.py:1605 -#: ipaserver/plugins/dogtag.py:1664 +#: ipaserver/dcerpc.py:53 +msgid "CIFS server denied your credentials" +msgstr "" + +#: ipaserver/dcerpc.py:56 +msgid "communication with CIFS server was unsuccessful" +msgstr "" + +#: ipaserver/dcerpc.py:61 +msgid "AD domain controller" +msgstr "" + +#: ipaserver/dcerpc.py:61 +msgid "unsupported functional level" +msgstr "" + +#: ipaserver/dcerpc.py:66 +msgid "Cannot find specified domain or server name" +msgstr "" + +#: ipaserver/dcerpc.py:68 +msgid "At least the domain or IP address should be specified" +msgstr "" + +#: ipaserver/dcerpc.py:80 +#, python-format +msgid "" +"CIFS server communication error: code \"%(num)s\",\n" +" message \"%(message)s\" (both may be \"None\")" +msgstr "" + +#: ipaserver/dcerpc.py:182 +msgid "CIFS credentials object" +msgstr "" + +#: ipaserver/dcerpc.py:215 +#, python-format +msgid "CIFS server %(host)s denied your credentials" +msgstr "" + +#: ipaserver/dcerpc.py:219 +#, python-format +msgid "Cannot establish LSA connection to %(host)s. Is CIFS server running?" +msgstr "" + +#: ipaserver/install/certs.py:668 ipaserver/plugins/dogtag.py:1379 +#: ipaserver/plugins/dogtag.py:1464 ipaserver/plugins/dogtag.py:1530 +#: ipaserver/plugins/dogtag.py:1609 ipaserver/plugins/dogtag.py:1668 #, python-format msgid "Unable to communicate with CMS (%s)" msgstr "" @@ -9054,35 +9585,75 @@ msgstr "" msgid "Operating System and version of the host (e.g. Fedora 9)" msgstr "" -#: ipaserver/plugins/ldap2.py:399 +#: ipaserver/plugins/join.py:109 +#, python-format +msgid "" +"Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry " +"'%s'." +msgstr "" + +#: ipaserver/plugins/ldap2.py:751 #, python-format msgid "objectclass %s not found" msgstr "" -#: ipaserver/plugins/selfsign.py:99 +#: ipaserver/plugins/selfsign.py:98 #, python-format msgid "" "Request subject \"%(request_subject)s\" does not match the form " "\"%(subject_base)s\"" msgstr "" -#: ipaserver/plugins/selfsign.py:104 +#: ipaserver/plugins/selfsign.py:103 #, python-format msgid "unable to decode csr: %s" msgstr "" -#: ipaserver/plugins/selfsign.py:125 ipaserver/plugins/selfsign.py:140 +#: ipaserver/plugins/selfsign.py:124 ipaserver/plugins/selfsign.py:139 msgid "file operation" msgstr "" -#: ipaserver/plugins/selfsign.py:154 +#: ipaserver/plugins/selfsign.py:153 msgid "cannot obtain next serial number" msgstr "" -#: ipaserver/plugins/selfsign.py:189 +#: ipaserver/plugins/selfsign.py:188 msgid "certutil failure" msgstr "" +#: ipaserver/plugins/selfsign.py:212 +#, python-format +msgid "Unable to decode certificate in entry: %s" +msgstr "" + +#: ipaserver/rpcserver.py:538 +msgid "Request must be a dict" +msgstr "" + +#: ipaserver/rpcserver.py:540 +msgid "Request is missing \"method\"" +msgstr "" + +#: ipaserver/rpcserver.py:542 +msgid "Request is missing \"params\"" +msgstr "" + +#: ipaserver/rpcserver.py:548 +msgid "params must be a list" +msgstr "" + +#: ipaserver/rpcserver.py:550 +msgid "params must contain [args, options]" +msgstr "" + +#: ipaserver/rpcserver.py:553 +msgid "params[0] (aka args) must be a list" +msgstr "" + +#: ipaserver/rpcserver.py:556 +msgid "params[1] (aka options) must be a dict" +msgstr "" + #: ipa-client/config.c:56 #, c-format msgid "cannot open configuration file %s\n" @@ -9270,7 +9841,7 @@ msgstr "" msgid "Kerberos context initialization failed\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:504 util/ipa_krb5.c:642 +#: ipa-client/ipa-getkeytab.c:504 util/ipa_krb5.c:792 #, c-format msgid "No system preferred enctypes ?!\n" msgstr "" @@ -9400,8 +9971,8 @@ msgstr "" #: ipa-client/ipa-join.c:408 ipa-client/ipa-join.c:483 #: ipa-client/ipa-join.c:501 ipa-client/ipa-join.c:602 -#: ipa-client/ipa-join.c:796 ipa-client/ipa-join.c:864 util/ipa_krb5.c:823 -#: util/ipa_krb5.c:857 +#: ipa-client/ipa-join.c:796 ipa-client/ipa-join.c:864 util/ipa_krb5.c:973 +#: util/ipa_krb5.c:1007 #, c-format msgid "Out of memory!\n" msgstr "" @@ -9683,35 +10254,35 @@ msgstr "" msgid "krb5_kt_close %1$d: %2$s\n" msgstr "" -#: util/ipa_krb5.c:650 +#: util/ipa_krb5.c:800 msgid "Out of memory!?\n" msgstr "" -#: util/ipa_krb5.c:668 util/ipa_krb5.c:683 +#: util/ipa_krb5.c:818 util/ipa_krb5.c:833 msgid "Out of memory\n" msgstr "" -#: util/ipa_krb5.c:697 +#: util/ipa_krb5.c:847 msgid "Warning unrecognized encryption type.\n" msgstr "" -#: util/ipa_krb5.c:711 +#: util/ipa_krb5.c:861 msgid "Warning unrecognized salt type.\n" msgstr "" -#: util/ipa_krb5.c:738 +#: util/ipa_krb5.c:888 msgid "Enctype comparison failed!\n" msgstr "" -#: util/ipa_krb5.c:803 +#: util/ipa_krb5.c:953 msgid "Failed to create random key!\n" msgstr "" -#: util/ipa_krb5.c:816 util/ipa_krb5.c:834 util/ipa_krb5.c:842 -#: util/ipa_krb5.c:882 +#: util/ipa_krb5.c:966 util/ipa_krb5.c:984 util/ipa_krb5.c:992 +#: util/ipa_krb5.c:1032 msgid "Failed to create key!\n" msgstr "" -#: util/ipa_krb5.c:868 +#: util/ipa_krb5.c:1018 msgid "Bad or unsupported salt type.\n" msgstr "" -- cgit