summaryrefslogtreecommitdiffstats
path: root/install/po/zh_CN.po
diff options
context:
space:
mode:
authorAdam Young <ayoung@redhat.com>2010-09-24 20:48:23 -0400
committerAdam Young <ayoung@redhat.com>2010-09-27 13:30:55 -0400
commitc187702bfe2c2dbc9614175db5cfa060936159bf (patch)
treee6e8bdf9de5bae7c58ad403d18e18ec2df3a7366 /install/po/zh_CN.po
parent65b455edf97742a922e51a5d81001ce106ec0043 (diff)
downloadfreeipa-c187702bfe2c2dbc9614175db5cfa060936159bf.tar.gz
freeipa-c187702bfe2c2dbc9614175db5cfa060936159bf.tar.xz
freeipa-c187702bfe2c2dbc9614175db5cfa060936159bf.zip
I18N for web
Performing I18N completely on the server, to leverage the existing gettext architecture. Also, the browser does not have access to the Language header. Added the additional po files for a set of required languages conflict with install/static/ipa.js was resolved. Note that the addition of the .po files in this patch is necessary. In order to get Transifex support, we need to update the LINGUAS file with the languages for which we want support. If we don't add the .po files in, they get automatically generated by the rpmbuild process. Our implementation of gettext has a bug in it (It might be F13 thing) where the the Plurals line is not getting correctly transformed, which causes a build failure. However, since the RPM would have the .po files anyway, we should revision control the ones we have, even if they are empty. Fixed the Bug reporting url to the original value. Corrected the Chartype encoding for UK
Diffstat (limited to 'install/po/zh_CN.po')
-rw-r--r--install/po/zh_CN.po1107
1 files changed, 732 insertions, 375 deletions
diff --git a/install/po/zh_CN.po b/install/po/zh_CN.po
index a27fc294..4a25ac8b 100644
--- a/install/po/zh_CN.po
+++ b/install/po/zh_CN.po
@@ -6,10 +6,11 @@ msgid ""
msgstr ""
"Project-Id-Version: ipa\n"
"Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/newticket\n"
-"POT-Creation-Date: 2010-03-01 19:57-0500\n"
+"POT-Creation-Date: 2010-09-27 10:25-0400\n"
"PO-Revision-Date: 2010-03-18 22:43+0800\n"
"Last-Translator: Jake Li <gnozil@gmail.com>\n"
"Language-Team: Chinese Simplified <zh_CN>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -26,86 +27,98 @@ msgstr "不正确的类型"
msgid "Only one value is allowed"
msgstr "只允许一个值"
-#: ../../ipalib/parameters.py:862
+#: ../../ipalib/parameters.py:877
msgid "must be True or False"
msgstr "必须是True或False"
-#: ../../ipalib/parameters.py:963
+#: ../../ipalib/parameters.py:978
msgid "must be an integer"
msgstr "必须是一个整数"
-#: ../../ipalib/parameters.py:1014
+#: ../../ipalib/parameters.py:1029
#, python-format
msgid "must be at least %(minvalue)d"
msgstr ""
-#: ../../ipalib/parameters.py:1024
+#: ../../ipalib/parameters.py:1039
#, python-format
msgid "can be at most %(maxvalue)d"
msgstr ""
-#: ../../ipalib/parameters.py:1034
+#: ../../ipalib/parameters.py:1049
msgid "must be a decimal number"
msgstr "必须是一个十进制数"
-#: ../../ipalib/parameters.py:1056
+#: ../../ipalib/parameters.py:1071
#, python-format
msgid "must be at least %(minvalue)f"
msgstr ""
-#: ../../ipalib/parameters.py:1066
+#: ../../ipalib/parameters.py:1081
#, python-format
msgid "can be at most %(maxvalue)f"
msgstr ""
-#: ../../ipalib/parameters.py:1126
+#: ../../ipalib/parameters.py:1145
#, python-format
msgid "must match pattern \"%(pattern)s\""
msgstr ""
-#: ../../ipalib/parameters.py:1144
+#: ../../ipalib/parameters.py:1163
msgid "must be binary data"
msgstr "必须是二进制数据"
-#: ../../ipalib/parameters.py:1159
+#: ../../ipalib/parameters.py:1179
#, python-format
msgid "must be at least %(minlength)d bytes"
msgstr ""
-#: ../../ipalib/parameters.py:1169
+#: ../../ipalib/parameters.py:1189
#, python-format
msgid "can be at most %(maxlength)d bytes"
msgstr ""
-#: ../../ipalib/parameters.py:1179
+#: ../../ipalib/parameters.py:1199
#, python-format
msgid "must be exactly %(length)d bytes"
msgstr ""
-#: ../../ipalib/parameters.py:1197
+#: ../../ipalib/parameters.py:1217
msgid "must be Unicode text"
msgstr "必须是Unicode文本"
-#: ../../ipalib/parameters.py:1227
+#: ../../ipalib/parameters.py:1248
#, python-format
msgid "must be at least %(minlength)d characters"
msgstr ""
-#: ../../ipalib/parameters.py:1237
+#: ../../ipalib/parameters.py:1258
#, python-format
msgid "can be at most %(maxlength)d characters"
msgstr ""
-#: ../../ipalib/parameters.py:1247
+#: ../../ipalib/parameters.py:1268
#, python-format
msgid "must be exactly %(length)d characters"
msgstr ""
-#: ../../ipalib/parameters.py:1286
+#: ../../ipalib/parameters.py:1307
#, python-format
msgid "must be one of %(values)r"
msgstr ""
+#: ../../ipalib/output.py:92
+msgid "A dictionary representing an LDAP entry"
+msgstr ""
+
+#: ../../ipalib/output.py:100
+msgid "A list of LDAP entries"
+msgstr ""
+
+#: ../../ipalib/output.py:111
+msgid "All commands should at least have a result"
+msgstr ""
+
#: ../../ipalib/cli.py:507
#, python-format
msgid "Enter %(label)s again to verify: "
@@ -119,10 +132,22 @@ msgstr "密码不匹配!"
msgid "Cancelled."
msgstr "已取消"
-#: ../../ipalib/frontend.py:377
+#: ../../ipalib/frontend.py:380
msgid "Results are truncated, try a more specific search"
msgstr "结果被截断,请尝试更明确的搜索"
+#: ../../ipalib/frontend.py:797 ../../ipalib/plugins/misc.py:47
+msgid "retrieve all attributes"
+msgstr ""
+
+#: ../../ipalib/frontend.py:803
+msgid "print entries as stored on the server"
+msgstr ""
+
+#: ../../ipalib/frontend.py:914
+msgid "Forward to server instead of running locally"
+msgstr ""
+
#: ../../ipalib/errors.py:297
#, python-format
msgid "%(cver)s client incompatible with %(sver)s server at %(server)r"
@@ -147,8 +172,7 @@ msgstr "服务器%(server)r上发生了一个内部错误"
msgid "unknown command %(name)r"
msgstr "未知的命令%(name)r"
-#: ../../ipalib/errors.py:386
-#: ../../ipalib/errors.py:411
+#: ../../ipalib/errors.py:386 ../../ipalib/errors.py:411
#, python-format
msgid "error on server %(server)r: %(error)s"
msgstr ""
@@ -224,8 +248,7 @@ msgstr ""
msgid "%(name)r is required"
msgstr "需要%(name)r"
-#: ../../ipalib/errors.py:706
-#: ../../ipalib/errors.py:722
+#: ../../ipalib/errors.py:706 ../../ipalib/errors.py:722
#, python-format
msgid "invalid %(name)r: %(error)s"
msgstr "%(name)r无效: %(error)s"
@@ -243,8 +266,7 @@ msgstr "密码不匹配"
msgid "Command not implemented"
msgstr "命令没有实现"
-#: ../../ipalib/errors.py:783
-#: ../../ipalib/errors.py:1023
+#: ../../ipalib/errors.py:783 ../../ipalib/errors.py:1023
#, python-format
msgid "%(reason)s"
msgstr "%(reason)s"
@@ -259,11 +281,14 @@ msgstr ""
#: ../../ipalib/errors.py:831
#, python-format
-msgid "Service principal is not of the form: service/fully-qualified host name: %(reason)s"
+msgid ""
+"Service principal is not of the form: service/fully-qualified host name: "
+"%(reason)s"
msgstr ""
#: ../../ipalib/errors.py:847
-msgid "The realm for the principal does not match the realm for this IPA server"
+msgid ""
+"The realm for the principal does not match the realm for this IPA server"
msgstr ""
#: ../../ipalib/errors.py:863
@@ -316,783 +341,1019 @@ msgstr "一个组不能是自己的成员"
msgid "The default users group cannot be removed"
msgstr "默认的用户组不成被删除"
-#: ../../ipalib/errors.py:1078
+#: ../../ipalib/errors.py:1071
+msgid "Host does not have corresponding DNS A record"
+msgstr ""
+
+#: ../../ipalib/errors.py:1086
+msgid "Deleting a managed group is not allowed. It must be detached first."
+msgstr ""
+
+#: ../../ipalib/errors.py:1109
#, python-format
msgid "no command nor help topic %(topic)r"
msgstr ""
-#: ../../ipalib/errors.py:1102
+#: ../../ipalib/errors.py:1133
msgid "change collided with another change"
msgstr "修改冲突"
-#: ../../ipalib/errors.py:1118
+#: ../../ipalib/errors.py:1149
msgid "no modifications to be performed"
msgstr ""
-#: ../../ipalib/errors.py:1134
+#: ../../ipalib/errors.py:1165
#, python-format
msgid "%(desc)s:%(info)s"
msgstr "%(desc)s:%(info)s"
-#: ../../ipalib/errors.py:1150
+#: ../../ipalib/errors.py:1181
msgid "limits exceeded for this query"
msgstr ""
-#: ../../ipalib/errors.py:1165
+#: ../../ipalib/errors.py:1196
#, python-format
msgid "%(info)s"
msgstr "%(info)s"
-#: ../../ipalib/errors.py:1190
+#: ../../ipalib/errors.py:1221
#, python-format
msgid "Certificate operation cannot be completed: %(error)s"
msgstr ""
-#: ../../ipalib/plugins/config.py:45
+#: ../../ipalib/plugins/config.py:73
+msgid "Configuration"
+msgstr ""
+
+#: ../../ipalib/plugins/config.py:78
msgid "Max username length"
msgstr "最大用户名长度"
-#: ../../ipalib/plugins/config.py:50
+#: ../../ipalib/plugins/config.py:83
msgid "Home directory base"
msgstr "主目录"
-#: ../../ipalib/plugins/config.py:51
+#: ../../ipalib/plugins/config.py:84
msgid "Default location of home directories"
msgstr "主目录的默认位置"
-#: ../../ipalib/plugins/config.py:55
+#: ../../ipalib/plugins/config.py:88
msgid "Default shell"
msgstr "默认shell"
-#: ../../ipalib/plugins/config.py:56
+#: ../../ipalib/plugins/config.py:89
msgid "Default shell for new users"
msgstr "新用户的默认shell"
-#: ../../ipalib/plugins/config.py:60
+#: ../../ipalib/plugins/config.py:93
msgid "Default users group"
msgstr "默认用户组"
-#: ../../ipalib/plugins/config.py:61
+#: ../../ipalib/plugins/config.py:94
msgid "Default group for new users"
msgstr "新用户默认组"
-#: ../../ipalib/plugins/config.py:65
+#: ../../ipalib/plugins/config.py:98
msgid "Default e-mail domain"
msgstr "默认的邮件域名"
-#: ../../ipalib/plugins/config.py:66
+#: ../../ipalib/plugins/config.py:99
msgid "Default e-mail domain new users"
msgstr "新用户的默认邮件域名"
-#: ../../ipalib/plugins/config.py:70
+#: ../../ipalib/plugins/config.py:103
msgid "Search time limit"
msgstr "搜索时间限制"
-#: ../../ipalib/plugins/config.py:71
+#: ../../ipalib/plugins/config.py:104
msgid "Max. amount of time (sec.) for a search (-1 is unlimited)"
msgstr ""
-#: ../../ipalib/plugins/config.py:76
+#: ../../ipalib/plugins/config.py:109
msgid "Search size limit"
msgstr ""
-#: ../../ipalib/plugins/config.py:77
+#: ../../ipalib/plugins/config.py:110
msgid "Max. number of records to search (-1 is unlimited)"
msgstr ""
-#: ../../ipalib/plugins/config.py:82
+#: ../../ipalib/plugins/config.py:115
msgid "User search fields"
msgstr "用户搜索字段"
-#: ../../ipalib/plugins/config.py:83
+#: ../../ipalib/plugins/config.py:116
msgid "A comma-separated list of fields to search when searching for users"
msgstr ""
-#: ../../ipalib/plugins/config.py:92
+#: ../../ipalib/plugins/config.py:121
+msgid "A comma-separated list of fields to search when searching for groups"
+msgstr ""
+
+#: ../../ipalib/plugins/config.py:125
msgid "Migration mode"
msgstr "迁移模式"
-#: ../../ipalib/plugins/config.py:93
-msgid "Enabled migration mode"
+#: ../../ipalib/plugins/config.py:126
+#, fuzzy
+msgid "Enable migration mode"
msgstr "启用迁移模式"
-#: ../../ipalib/plugins/config.py:97
+#: ../../ipalib/plugins/config.py:130
msgid "Certificate Subject base"
msgstr ""
-#: ../../ipalib/plugins/config.py:98
-msgid "base for certificate subjects (OU=Test,O=Example)"
+#: ../../ipalib/plugins/config.py:131
+msgid "Base for certificate subjects (OU=Test,O=Example)"
msgstr ""
-#: ../../ipalib/plugins/rolegroup.py:42
+#: ../../ipalib/plugins/rolegroup.py:79
msgid "Role Groups"
msgstr "角色组"
-#: ../../ipalib/plugins/rolegroup.py:47
+#: ../../ipalib/plugins/rolegroup.py:84
msgid "Role-group name"
msgstr "角色组名称"
-#: ../../ipalib/plugins/rolegroup.py:53
-#: ../../ipalib/plugins/host.py:77
-#: ../../ipalib/plugins/group.py:59
-#: ../../ipalib/plugins/hbac.py:91
-#: ../../ipalib/plugins/automount.py:230
-#: ../../ipalib/plugins/netgroup.py:58
-#: ../../ipalib/plugins/taskgroup.py:54
-#: ../../ipalib/plugins/hostgroup.py:55
+#: ../../ipalib/plugins/rolegroup.py:90 ../../ipalib/plugins/host.py:124
+#: ../../ipalib/plugins/group.py:108 ../../ipalib/plugins/hbac.py:151
+#: ../../ipalib/plugins/automount.py:230 ../../ipalib/plugins/netgroup.py:96
+#: ../../ipalib/plugins/taskgroup.py:62 ../../ipalib/plugins/hostgroup.py:81
msgid "Description"
msgstr "描述"
-#: ../../ipalib/plugins/rolegroup.py:54
+#: ../../ipalib/plugins/rolegroup.py:91
msgid "A description of this role-group"
msgstr "该角色组的描述"
-#: ../../ipalib/plugins/rolegroup.py:57
-#: ../../ipalib/plugins/group.py:68
-#: ../../ipalib/plugins/taskgroup.py:58
+#: ../../ipalib/plugins/rolegroup.py:94 ../../ipalib/plugins/group.py:117
+#: ../../ipalib/plugins/taskgroup.py:66
msgid "Member groups"
msgstr "成员组"
-#: ../../ipalib/plugins/rolegroup.py:61
-#: ../../ipalib/plugins/group.py:72
-#: ../../ipalib/plugins/taskgroup.py:62
+#: ../../ipalib/plugins/rolegroup.py:98 ../../ipalib/plugins/group.py:121
+#: ../../ipalib/plugins/taskgroup.py:70
msgid "Member users"
msgstr "成员用户"
-#: ../../ipalib/plugins/rolegroup.py:65
+#: ../../ipalib/plugins/rolegroup.py:102
msgid "Member of task-groups"
msgstr "任务组成员"
-#: ../../ipalib/plugins/rolegroup.py:78
+#: ../../ipalib/plugins/rolegroup.py:115
#, python-format
msgid "Added rolegroup \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/rolegroup.py:88
+#: ../../ipalib/plugins/rolegroup.py:125
#, python-format
msgid "Deleted rolegroup \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/rolegroup.py:98
+#: ../../ipalib/plugins/rolegroup.py:135
#, python-format
msgid "Modified rolegroup \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/rolegroup.py:109
+#: ../../ipalib/plugins/rolegroup.py:146
#, python-format
msgid "%(count)d rolegroup matched"
msgid_plural "%(count)d rolegroups matched"
msgstr[0] ""
msgstr[1] ""
-#: ../../ipalib/plugins/host.py:66
+#: ../../ipalib/plugins/host.py:86
+msgid "Fully-qualified hostname required"
+msgstr ""
+
+#: ../../ipalib/plugins/host.py:113 ../../ipalib/plugins/hbac.py:162
msgid "Hosts"
msgstr "主机"
-#: ../../ipalib/plugins/host.py:71
+#: ../../ipalib/plugins/host.py:118
msgid "Host name"
msgstr "主机名"
-#: ../../ipalib/plugins/host.py:78
+#: ../../ipalib/plugins/host.py:125
msgid "A description of this host"
msgstr ""
-#: ../../ipalib/plugins/host.py:82
+#: ../../ipalib/plugins/host.py:129
msgid "Locality"
msgstr ""
-#: ../../ipalib/plugins/host.py:83
+#: ../../ipalib/plugins/host.py:130
msgid "Host locality (e.g. \"Baltimore, MD\")"
msgstr "主机地点(如\"Baltimore, MD\")"
-#: ../../ipalib/plugins/host.py:87
-#: ../../ipalib/plugins/automount.py:107
+#: ../../ipalib/plugins/host.py:134 ../../ipalib/plugins/automount.py:107
msgid "Location"
msgstr "位置"
-#: ../../ipalib/plugins/host.py:88
+#: ../../ipalib/plugins/host.py:135
msgid "Host location (e.g. \"Lab 2\")"
msgstr "主机位置(如\"Lab 2\")"
-#: ../../ipalib/plugins/host.py:92
+#: ../../ipalib/plugins/host.py:139
msgid "Platform"
msgstr "平台"
-#: ../../ipalib/plugins/host.py:93
+#: ../../ipalib/plugins/host.py:140
msgid "Host hardware platform (e.g. \"Lenovo T61\")"
msgstr "主机硬件平台 (e.g. \"Lenovo T61\")"
-#: ../../ipalib/plugins/host.py:97
+#: ../../ipalib/plugins/host.py:144
msgid "Operating system"
msgstr "操作系统"
-#: ../../ipalib/plugins/host.py:98
+#: ../../ipalib/plugins/host.py:145
msgid "Host operating system and version (e.g. \"Fedora 9\")"
msgstr "主机操作系统及版本(e.g. \"Fedora 9\")"
-#: ../../ipalib/plugins/host.py:102
+#: ../../ipalib/plugins/host.py:149
msgid "User password"
msgstr "用户密码"
-#: ../../ipalib/plugins/host.py:103
+#: ../../ipalib/plugins/host.py:150
msgid "Password used in bulk enrollment"
msgstr ""
-#: ../../ipalib/plugins/host.py:107
-#: ../../ipalib/plugins/service.py:128
-#: ../../ipalib/plugins/cert.py:188
-#: ../../ipalib/plugins/cert.py:370
+#: ../../ipalib/plugins/host.py:154 ../../ipalib/plugins/service.py:185
+#: ../../ipalib/plugins/service.py:265 ../../ipalib/plugins/service.py:304
+#: ../../ipalib/plugins/service.py:343 ../../ipalib/plugins/cert.py:187
+#: ../../ipalib/plugins/cert.py:392
msgid "Certificate"
msgstr "证书"
-#: ../../ipalib/plugins/host.py:108
-#: ../../ipalib/plugins/service.py:129
+#: ../../ipalib/plugins/host.py:155 ../../ipalib/plugins/service.py:186
+#: ../../ipalib/plugins/service.py:266 ../../ipalib/plugins/service.py:305
+#: ../../ipalib/plugins/service.py:344
msgid "Base-64 encoded server certificate"
msgstr "Base-64 编码格式的服务器证书"
-#: ../../ipalib/plugins/host.py:111
-#: ../../ipalib/plugins/host.py:214
+#: ../../ipalib/plugins/host.py:158 ../../ipalib/plugins/host.py:274
msgid "Principal name"
msgstr ""
-#: ../../ipalib/plugins/host.py:115
-#: ../../ipalib/plugins/hostgroup.py:67
+#: ../../ipalib/plugins/host.py:162 ../../ipalib/plugins/hostgroup.py:93
msgid "Member of host-groups"
msgstr "主机组成员"
-#: ../../ipalib/plugins/host.py:119
+#: ../../ipalib/plugins/host.py:166
msgid "Member of net-groups"
msgstr "网络组成员"
-#: ../../ipalib/plugins/host.py:123
+#: ../../ipalib/plugins/host.py:170
msgid "Member of role-groups"
msgstr ""
-#: ../../ipalib/plugins/host.py:152
+#: ../../ipalib/plugins/host.py:199
#, python-format
msgid "Added host \"%(value)s\""
msgstr "新增主机 \"%(value)s\""
-#: ../../ipalib/plugins/host.py:181
+#: ../../ipalib/plugins/host.py:202
+msgid "force host name even if not in DNS"
+msgstr ""
+
+#: ../../ipalib/plugins/host.py:235
#, python-format
msgid "Deleted host \"%(value)s\""
msgstr "已删除主机 \"%(value)s\""
-#: ../../ipalib/plugins/host.py:209
+#: ../../ipalib/plugins/host.py:269
#, python-format
msgid "Modified host \"%(value)s\""
msgstr "已修改主机 \"%(value)s\""
-#: ../../ipalib/plugins/host.py:215
+#: ../../ipalib/plugins/host.py:275
msgid "Kerberos principal name for this host"
msgstr ""
-#: ../../ipalib/plugins/host.py:259
+#: ../../ipalib/plugins/host.py:319
#, python-format
msgid "%(count)d host matched"
msgid_plural "%(count)d hosts matched"
msgstr[0] ""
msgstr[1] ""
-#: ../../ipalib/plugins/group.py:48
+#: ../../ipalib/plugins/host.py:337 ../../ipalib/plugins/service.py:83
+msgid "Keytab"
+msgstr ""
+
+#: ../../ipalib/plugins/host.py:359 ../../ipalib/plugins/service.py:386
+#, fuzzy, python-format
+msgid "Removed kerberos key from \"%(value)s\""
+msgstr "已锁定用户\"%(value)s\""
+
+#: ../../ipalib/plugins/host.py:368
+msgid "Host principal has no kerberos key"
+msgstr ""
+
+#: ../../ipalib/plugins/group.py:94
msgid "User Groups"
msgstr "用户组"
-#: ../../ipalib/plugins/group.py:53
+#: ../../ipalib/plugins/group.py:102
msgid "Group name"
msgstr "组名"
-#: ../../ipalib/plugins/group.py:60
+#: ../../ipalib/plugins/group.py:109
msgid "Group description"
msgstr "组描述"
-#: ../../ipalib/plugins/group.py:64
+#: ../../ipalib/plugins/group.py:113
msgid "GID"
msgstr "GID"
-#: ../../ipalib/plugins/group.py:65
+#: ../../ipalib/plugins/group.py:114
msgid "GID (use this option to set it manually)"
msgstr ""
-#: ../../ipalib/plugins/group.py:76
-msgid "Failed members"
-msgstr "失败的成员"
-
-#: ../../ipalib/plugins/group.py:80
-#: ../../ipalib/plugins/user.py:48
-msgid "Users"
-msgstr "用户"
-
-#: ../../ipalib/plugins/group.py:84
-#: ../../ipalib/plugins/user.py:109
-msgid "Groups"
-msgstr "用户组"
-
-#: ../../ipalib/plugins/group.py:97
+#: ../../ipalib/plugins/group.py:134
#, python-format
msgid "Added group \"%(value)s\""
msgstr "已添加组\"%(value)s\""
-#: ../../ipalib/plugins/group.py:102
+#: ../../ipalib/plugins/group.py:139
msgid "Create as posix group?"
msgstr ""
-#: ../../ipalib/plugins/group.py:120
+#: ../../ipalib/plugins/group.py:159
#, python-format
msgid "Deleted group \"%(value)s\""
msgstr "已删除组\"%(value)s\""
-#: ../../ipalib/plugins/group.py:146
+#: ../../ipalib/plugins/group.py:188
#, python-format
msgid "Modified group \"%(value)s\""
msgstr "已修改组\"%(value)s\""
-#: ../../ipalib/plugins/group.py:175
+#: ../../ipalib/plugins/group.py:193
+#, fuzzy
+msgid "change to posix group"
+msgstr "这已经是一个posix组"
+
+#: ../../ipalib/plugins/group.py:219
#, python-format
msgid "%(count)d group matched"
msgid_plural "%(count)d groups matched"
msgstr[0] "%(count)d 个组匹配"
msgstr[1] "%(count)d 个组匹配"
-#: ../../ipalib/plugins/migration.py:166
+#: ../../ipalib/plugins/group.py:254
+#, fuzzy, python-format
+msgid "Detached group \"%(value)s\" from user \"%(value)s\""
+msgstr "已删除组\"%(value)s\""
+
+#: ../../ipalib/plugins/group.py:270
+msgid "not allowed to modify user entries"
+msgstr ""
+
+#: ../../ipalib/plugins/group.py:274
+msgid "not allowed to modify group entries"
+msgstr ""
+
+#: ../../ipalib/plugins/group.py:281 ../../ipalib/plugins/group.py:292
+msgid "Not a managed group"
+msgstr ""
+
+#: ../../ipalib/plugins/migration.py:44
+#, python-format
+msgid ""
+"Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually."
+msgstr ""
+
+#: ../../ipalib/plugins/migration.py:45
+msgid ""
+"Failed to add user to the default group. Use 'ipa group-add-member' to add "
+"manually."
+msgstr ""
+
+#: ../../ipalib/plugins/migration.py:169
msgid "LDAP URI"
msgstr "LDAP URI"
-#: ../../ipalib/plugins/migration.py:167
+#: ../../ipalib/plugins/migration.py:170
msgid "LDAP URI of DS server to migrate from"
msgstr ""
-#: ../../ipalib/plugins/migration.py:178
+#: ../../ipalib/plugins/migration.py:174
+#, fuzzy
+msgid "bind password"
+msgstr "用户密码"
+
+#: ../../ipalib/plugins/migration.py:181
msgid "Bind DN"
msgstr ""
-#: ../../ipalib/plugins/migration.py:184
+#: ../../ipalib/plugins/migration.py:187
msgid "User container"
msgstr "用户容器"
-#: ../../ipalib/plugins/migration.py:185
+#: ../../ipalib/plugins/migration.py:188
msgid "RDN of container for users in DS"
msgstr ""
-#: ../../ipalib/plugins/migration.py:191
+#: ../../ipalib/plugins/migration.py:194
msgid "Group container"
msgstr "组容器"
-#: ../../ipalib/plugins/migration.py:192
+#: ../../ipalib/plugins/migration.py:195
msgid "RDN of container for groups in DS"
msgstr ""
-#: ../../ipalib/plugins/service.py:116
+#: ../../ipalib/plugins/migration.py:204
+msgid "Lists of objects migrated; categorized by type."
+msgstr ""
+
+#: ../../ipalib/plugins/migration.py:208
+msgid "Lists of objects that could not be migrated; categorized by type."
+msgstr ""
+
+#: ../../ipalib/plugins/migration.py:212
+#, fuzzy
+msgid "False if migration mode was disabled."
+msgstr "启用迁移模式"
+
+#: ../../ipalib/plugins/migration.py:216
+#, python-format
+msgid "comma-separated list of %s to exclude from migration"
+msgstr ""
+
+#: ../../ipalib/plugins/migration.py:218
+msgid ""
+"search results for objects to be migrated\n"
+"have been truncated by the server;\n"
+"migration process might be uncomplete\n"
+msgstr ""
+
+#: ../../ipalib/plugins/migration.py:223
+msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it."
+msgstr ""
+
+#: ../../ipalib/plugins/migration.py:226
+msgid ""
+"Passwords have been migrated in pre-hashed format.\n"
+"IPA is unable to generate Kerberos keys unless provided\n"
+"with clear text passwords. All migrated users need to\n"
+"login at https://your.domain/ipa/migration/ before they\n"
+"can use their Kerberos accounts."
+msgstr ""
+
+#: ../../ipalib/plugins/service.py:157 ../../ipalib/plugins/hbac.py:174
msgid "Services"
msgstr "服务"
-#: ../../ipalib/plugins/service.py:121
-#: ../../ipalib/plugins/cert.py:175
+#: ../../ipalib/plugins/service.py:162 ../../ipalib/plugins/cert.py:171
msgid "Principal"
msgstr ""
-#: ../../ipalib/plugins/service.py:122
+#: ../../ipalib/plugins/service.py:163
msgid "Service principal"
msgstr ""
-#: ../../ipalib/plugins/service.py:140
+#: ../../ipalib/plugins/service.py:176
#, python-format
msgid "Added service \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/service.py:187
+#: ../../ipalib/plugins/service.py:181
+msgid "force principal name even if not in DNS"
+msgstr ""
+
+#: ../../ipalib/plugins/service.py:224
#, python-format
msgid "Deleted service \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/passwd.py:37
-#: ../../ipalib/plugins/krbtpolicy.py:47
+#: ../../ipalib/plugins/service.py:261
+#, fuzzy, python-format
+msgid "Modified service \"%(value)s\""
+msgstr "已修改用户\"%(value)s\""
+
+#: ../../ipalib/plugins/service.py:298
+#, fuzzy, python-format
+msgid "%(count)d service matched"
+msgid_plural "%(count)d services matched"
+msgstr[0] "%(count)d 个组匹配"
+msgstr[1] "%(count)d 个组匹配"
+
+#: ../../ipalib/plugins/service.py:396
+msgid "Service principal has no kerberos key"
+msgstr ""
+
+#: ../../ipalib/plugins/passwd.py:52 ../../ipalib/plugins/krbtpolicy.py:62
msgid "User name"
msgstr "用户名"
-#: ../../ipalib/plugins/hbac.py:48
+#: ../../ipalib/plugins/hbac.py:106
msgid "HBAC"
msgstr "HBAC"
-#: ../../ipalib/plugins/hbac.py:53
+#: ../../ipalib/plugins/hbac.py:111
msgid "Rule name"
msgstr "规则名"
-#: ../../ipalib/plugins/hbac.py:58
+#: ../../ipalib/plugins/hbac.py:116
msgid "Rule type (allow or deny)"
msgstr "规则类型(允许或禁止)"
-#: ../../ipalib/plugins/hbac.py:63
-msgid "Service name"
-msgstr "服务名"
-
-#: ../../ipalib/plugins/hbac.py:64
-msgid "Name of service the rule applies to (e.g. ssh)"
-msgstr ""
+#: ../../ipalib/plugins/hbac.py:117
+#, fuzzy
+msgid "Rule type"
+msgstr "记录类型"
-#: ../../ipalib/plugins/hbac.py:69
+#: ../../ipalib/plugins/hbac.py:123
msgid "User category"
msgstr "用户类别"
-#: ../../ipalib/plugins/hbac.py:70
+#: ../../ipalib/plugins/hbac.py:124
msgid "User category the rule applies to"
msgstr ""
-#: ../../ipalib/plugins/hbac.py:75
+#: ../../ipalib/plugins/hbac.py:129
msgid "Host category"
msgstr "主机类别"
-#: ../../ipalib/plugins/hbac.py:76
+#: ../../ipalib/plugins/hbac.py:130
msgid "Host category the rule applies to"
msgstr ""
-#: ../../ipalib/plugins/hbac.py:81
+#: ../../ipalib/plugins/hbac.py:135
msgid "Source host category"
msgstr "源主机类别"
-#: ../../ipalib/plugins/hbac.py:82
+#: ../../ipalib/plugins/hbac.py:136
msgid "Source host category the rule applies to"
msgstr ""
-#: ../../ipalib/plugins/hbac.py:87
-#: ../../ipalib/plugins/hbac.py:221
-#: ../../ipalib/plugins/hbac.py:259
+#: ../../ipalib/plugins/hbac.py:141
+#, fuzzy
+msgid "Service category"
+msgstr "用户类别"
+
+#: ../../ipalib/plugins/hbac.py:142
+msgid "Service category the rule applies to"
+msgstr ""
+
+#: ../../ipalib/plugins/hbac.py:147 ../../ipalib/plugins/hbac.py:309
+#: ../../ipalib/plugins/hbac.py:347
msgid "Access time"
msgstr "访问时间"
-#: ../../ipalib/plugins/cert.py:62
-#: ../../ipalib/plugins/cert.py:83
-msgid "Unable to decode certificate in entry"
+#: ../../ipalib/plugins/hbac.py:154
+msgid "Enabled"
+msgstr ""
+
+#: ../../ipalib/plugins/hbac.py:158 ../../ipalib/plugins/user.py:76
+msgid "Users"
+msgstr "用户"
+
+#: ../../ipalib/plugins/hbac.py:166 ../../ipalib/plugins/hostgroup.py:69
+msgid "Host Groups"
+msgstr "主机组"
+
+#: ../../ipalib/plugins/hbac.py:170
+#, fuzzy
+msgid "Source hosts"
+msgstr "源主机类别"
+
+#: ../../ipalib/plugins/hbac.py:178
+#, fuzzy
+msgid "Service Groups"
+msgstr "服务"
+
+#: ../../ipalib/plugins/cert.py:93
+#, fuzzy
+msgid "Failure decoding Certificate Signing Request:"
msgstr "不能解码项目中的证书"
-#: ../../ipalib/plugins/cert.py:105
-#: ../../ipalib/plugins/cert.py:119
-#: ../../ipalib/plugins/cert.py:136
+#: ../../ipalib/plugins/cert.py:106 ../../ipalib/plugins/cert.py:118
msgid "Failure decoding Certificate Signing Request"
msgstr ""
-#: ../../ipalib/plugins/cert.py:138
+#: ../../ipalib/plugins/cert.py:120
#, python-format
msgid "Failure decoding Certificate Signing Request: %s"
msgstr ""
-#: ../../ipalib/plugins/cert.py:176
+#: ../../ipalib/plugins/cert.py:172
msgid "Service principal for this certificate (e.g. HTTP/test.example.com)"
msgstr ""
-#: ../../ipalib/plugins/cert.py:183
+#: ../../ipalib/plugins/cert.py:179
msgid "automatically add the principal if it doesn't exist"
msgstr ""
-#: ../../ipalib/plugins/cert.py:192
-#: ../../ipalib/plugins/cert.py:374
+#: ../../ipalib/plugins/cert.py:191 ../../ipalib/plugins/cert.py:395
msgid "Subject"
msgstr "主题"
-#: ../../ipalib/plugins/cert.py:196
-#: ../../ipalib/plugins/cert.py:357
+#: ../../ipalib/plugins/cert.py:195 ../../ipalib/plugins/cert.py:398
+msgid "Issuer"
+msgstr ""
+
+#: ../../ipalib/plugins/cert.py:199 ../../ipalib/plugins/cert.py:401
+msgid "Not Before"
+msgstr ""
+
+#: ../../ipalib/plugins/cert.py:203 ../../ipalib/plugins/cert.py:404
+msgid "Not After"
+msgstr ""
+
+#: ../../ipalib/plugins/cert.py:207 ../../ipalib/plugins/cert.py:407
+msgid "Fingerprint (MD5)"
+msgstr ""
+
+#: ../../ipalib/plugins/cert.py:211 ../../ipalib/plugins/cert.py:410
+msgid "Fingerprint (SHA1)"
+msgstr ""
+
+#: ../../ipalib/plugins/cert.py:215 ../../ipalib/plugins/cert.py:379
msgid "Serial number"
msgstr "序列号"
-#: ../../ipalib/plugins/cert.py:334
+#: ../../ipalib/plugins/cert.py:223 ../../ipalib/plugins/misc.py:57
+msgid "Dictionary mapping variable name to value"
+msgstr ""
+
+#: ../../ipalib/plugins/cert.py:357
msgid "Request id"
msgstr "请求号"
-#: ../../ipalib/plugins/cert.py:340
+#: ../../ipalib/plugins/cert.py:363
msgid "Request status"
msgstr "请求状态"
-#: ../../ipalib/plugins/cert.py:358
+#: ../../ipalib/plugins/cert.py:380
msgid "Serial number in decimal or if prefixed with 0x in hexadecimal"
msgstr ""
-#: ../../ipalib/plugins/cert.py:378
+#: ../../ipalib/plugins/cert.py:413
msgid "Revocation reason"
msgstr "撤消原因"
-#: ../../ipalib/plugins/cert.py:403
+#: ../../ipalib/plugins/cert.py:458
msgid "Revoked"
msgstr "撤销"
-#: ../../ipalib/plugins/cert.py:412
+#: ../../ipalib/plugins/cert.py:466
msgid "Reason"
msgstr "原因"
-#: ../../ipalib/plugins/cert.py:413
+#: ../../ipalib/plugins/cert.py:467
msgid "Reason for revoking the certificate (0-10)"
msgstr "撤消证书的原因(0-10)"
-#: ../../ipalib/plugins/cert.py:438
+#: ../../ipalib/plugins/cert.py:502
msgid "Unrevoked"
msgstr ""
-#: ../../ipalib/plugins/cert.py:442
+#: ../../ipalib/plugins/cert.py:505
msgid "Error"
msgstr "错误"
-#: ../../ipalib/plugins/baseldap.py:115
+#: ../../ipalib/plugins/baseldap.py:79
+#, python-format
+msgid "container entry (%(container)s) not found"
+msgstr ""
+
+#: ../../ipalib/plugins/baseldap.py:80
+#, python-format
+msgid "%(parent)s: %(oname)s not found"
+msgstr ""
+
+#: ../../ipalib/plugins/baseldap.py:81
+#, python-format
+msgid "%(pkey)s: %(oname)s not found"
+msgstr ""
+
+#: ../../ipalib/plugins/baseldap.py:150
msgid "Add an attribute/value pair. Format is attr=value"
msgstr ""
-#: ../../ipalib/plugins/baseldap.py:120
+#: ../../ipalib/plugins/baseldap.py:155
msgid "Set an attribute to an name/value pair. Format is attr=value"
msgstr ""
-#: ../../ipalib/plugins/aci.py:109
+#: ../../ipalib/plugins/baseldap.py:491
+msgid "the entry was deleted while being modified"
+msgstr ""
+
+#: ../../ipalib/plugins/baseldap.py:627
+msgid "Members that could not be added"
+msgstr ""
+
+#: ../../ipalib/plugins/baseldap.py:631
+msgid "Number of members added"
+msgstr ""
+
+#: ../../ipalib/plugins/baseldap.py:637 ../../ipalib/plugins/baseldap.py:742
+msgid "Failed members"
+msgstr "失败的成员"
+
+#: ../../ipalib/plugins/baseldap.py:732
+msgid "Members that could not be removed"
+msgstr ""
+
+#: ../../ipalib/plugins/baseldap.py:736
+msgid "Number of members removed"
+msgstr ""
+
+#: ../../ipalib/plugins/baseldap.py:833
+msgid "Time Limit"
+msgstr ""
+
+#: ../../ipalib/plugins/baseldap.py:834
+msgid "Time limit of search in seconds"
+msgstr ""
+
+#: ../../ipalib/plugins/baseldap.py:840
+msgid "Size Limit"
+msgstr ""
+
+#: ../../ipalib/plugins/baseldap.py:841
+msgid "Maximum number of entries returned"
+msgstr ""
+
+#: ../../ipalib/plugins/aci.py:111
+msgid "A list of ACI values"
+msgstr ""
+
+#: ../../ipalib/plugins/aci.py:142
msgid "type, filter, subtree and targetgroup are mutually exclusive"
msgstr ""
-#: ../../ipalib/plugins/aci.py:112
-msgid "at least one of: type, filter, subtree, targetgroup, attrs or memberof are required"
+#: ../../ipalib/plugins/aci.py:145
+msgid ""
+"at least one of: type, filter, subtree, targetgroup, attrs or memberof are "
+"required"
msgstr ""
-#: ../../ipalib/plugins/aci.py:117
-msgid "group and taskgroup are mutually exclusive"
+#: ../../ipalib/plugins/aci.py:151
+msgid "group, taskgroup and self are mutually exclusive"
msgstr ""
-#: ../../ipalib/plugins/aci.py:119
-msgid "One of group or taskgroup is required"
+#: ../../ipalib/plugins/aci.py:153
+msgid "One of group, taskgroup or self is required"
msgstr ""
-#: ../../ipalib/plugins/aci.py:140
+#: ../../ipalib/plugins/aci.py:172
#, python-format
msgid "Group '%s' does not exist"
msgstr "组 '%s' 不存在"
-#: ../../ipalib/plugins/aci.py:184
+#: ../../ipalib/plugins/aci.py:269
#, python-format
msgid "ACI with name \"%s\" not found"
msgstr ""
-#: ../../ipalib/plugins/aci.py:201
+#: ../../ipalib/plugins/aci.py:286
msgid "ACIs"
msgstr "ACIs"
-#: ../../ipalib/plugins/aci.py:206
+#: ../../ipalib/plugins/aci.py:291
msgid "ACI name"
msgstr "ACI名称"
-#: ../../ipalib/plugins/aci.py:211
+#: ../../ipalib/plugins/aci.py:296
msgid "Taskgroup"
msgstr "任务组"
-#: ../../ipalib/plugins/aci.py:212
+#: ../../ipalib/plugins/aci.py:297
msgid "Taskgroup ACI grants access to"
msgstr ""
-#: ../../ipalib/plugins/aci.py:216
+#: ../../ipalib/plugins/aci.py:301
msgid "User group"
msgstr "用户组"
-#: ../../ipalib/plugins/aci.py:217
+#: ../../ipalib/plugins/aci.py:302
msgid "User group ACI grants access to"
msgstr ""
-#: ../../ipalib/plugins/aci.py:221
+#: ../../ipalib/plugins/aci.py:306
msgid "Permissions"
msgstr "权限"
-#: ../../ipalib/plugins/aci.py:222
-msgid "comma-separated list of permissions to grant(read, write, add, delete, selfwrite, all)"
+#: ../../ipalib/plugins/aci.py:307
+msgid ""
+"comma-separated list of permissions to grant(read, write, add, delete, all)"
msgstr ""
-#: ../../ipalib/plugins/aci.py:228
+#: ../../ipalib/plugins/aci.py:313
msgid "Attributes"
msgstr "属性"
-#: ../../ipalib/plugins/aci.py:229
+#: ../../ipalib/plugins/aci.py:314
msgid "Comma-separated list of attributes"
msgstr ""
-#: ../../ipalib/plugins/aci.py:233
+#: ../../ipalib/plugins/aci.py:318
msgid "Type"
msgstr "类型"
-#: ../../ipalib/plugins/aci.py:234
+#: ../../ipalib/plugins/aci.py:319
msgid "type of IPA object (user, group, host)"
msgstr ""
-#: ../../ipalib/plugins/aci.py:239
+#: ../../ipalib/plugins/aci.py:324
msgid "Member of"
msgstr ""
-#: ../../ipalib/plugins/aci.py:240
+#: ../../ipalib/plugins/aci.py:325
msgid "Member of a group"
msgstr "组成员"
-#: ../../ipalib/plugins/aci.py:244
+#: ../../ipalib/plugins/aci.py:329
msgid "Filter"
msgstr "过滤"
-#: ../../ipalib/plugins/aci.py:245
+#: ../../ipalib/plugins/aci.py:330
msgid "Legal LDAP filter (e.g. ou=Engineering)"
msgstr ""
-#: ../../ipalib/plugins/aci.py:249
+#: ../../ipalib/plugins/aci.py:334
msgid "Subtree"
msgstr "子树"
-#: ../../ipalib/plugins/aci.py:250
+#: ../../ipalib/plugins/aci.py:335
msgid "Subtree to apply ACI to"
msgstr ""
-#: ../../ipalib/plugins/aci.py:254
+#: ../../ipalib/plugins/aci.py:339
msgid "Target group"
msgstr "目标组"
-#: ../../ipalib/plugins/aci.py:255
+#: ../../ipalib/plugins/aci.py:340
msgid "Group to apply ACI to"
msgstr ""
-#: ../../ipalib/plugins/aci.py:267
+#: ../../ipalib/plugins/aci.py:344
+msgid "Target your own entry (self)"
+msgstr ""
+
+#: ../../ipalib/plugins/aci.py:345
+msgid "Apply ACI to your own entry (self)"
+msgstr ""
+
+#: ../../ipalib/plugins/aci.py:357
#, python-format
msgid "Created ACI \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/aci.py:317
+#: ../../ipalib/plugins/aci.py:407
#, python-format
msgid "Deleted ACI \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/aci.py:357
+#: ../../ipalib/plugins/aci.py:447
#, python-format
msgid "Modified ACI \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/aci.py:417
+#: ../../ipalib/plugins/aci.py:519
#, python-format
msgid "%(count)d ACI matched"
msgid_plural "%(count)d ACIs matched"
msgstr[0] ""
msgstr[1] ""
-#: ../../ipalib/plugins/krbtpolicy.py:48
+#: ../../ipalib/plugins/krbtpolicy.py:63
msgid "Manage ticket policy for specific user"
msgstr ""
-#: ../../ipalib/plugins/krbtpolicy.py:53
+#: ../../ipalib/plugins/krbtpolicy.py:68
msgid "Max life"
msgstr ""
-#: ../../ipalib/plugins/krbtpolicy.py:54
-msgid "Maximum ticket life"
+#: ../../ipalib/plugins/krbtpolicy.py:69
+msgid "Maximum ticket life (seconds)"
msgstr ""
-#: ../../ipalib/plugins/krbtpolicy.py:58
+#: ../../ipalib/plugins/krbtpolicy.py:73
msgid "Max renew"
msgstr ""
-#: ../../ipalib/plugins/krbtpolicy.py:59
-msgid "Maximum renewable age"
+#: ../../ipalib/plugins/krbtpolicy.py:74
+msgid "Maximum renewable age (seconds)"
msgstr ""
-#: ../../ipalib/plugins/dns.py:113
+#: ../../ipalib/plugins/dns.py:131
msgid "DNS"
msgstr "DNS"
-#: ../../ipalib/plugins/dns.py:118
+#: ../../ipalib/plugins/dns.py:136
msgid "Zone"
msgstr ""
-#: ../../ipalib/plugins/dns.py:119
+#: ../../ipalib/plugins/dns.py:137
msgid "Zone name (FQDN)"
msgstr ""
-#: ../../ipalib/plugins/dns.py:125
+#: ../../ipalib/plugins/dns.py:143
msgid "Authoritative name server"
msgstr ""
-#: ../../ipalib/plugins/dns.py:129
+#: ../../ipalib/plugins/dns.py:147
msgid "administrator e-mail address"
msgstr "管理员邮件地址"
-#: ../../ipalib/plugins/dns.py:135
+#: ../../ipalib/plugins/dns.py:153
msgid "SOA serial"
msgstr ""
-#: ../../ipalib/plugins/dns.py:139
+#: ../../ipalib/plugins/dns.py:157
msgid "SOA refresh"
msgstr ""
-#: ../../ipalib/plugins/dns.py:143
+#: ../../ipalib/plugins/dns.py:161
msgid "SOA retry"
msgstr ""
-#: ../../ipalib/plugins/dns.py:147
+#: ../../ipalib/plugins/dns.py:165
msgid "SOA expire"
msgstr ""
-#: ../../ipalib/plugins/dns.py:151
+#: ../../ipalib/plugins/dns.py:169
msgid "SOA minimum"
msgstr ""
-#: ../../ipalib/plugins/dns.py:155
+#: ../../ipalib/plugins/dns.py:173
msgid "SOA time to live"
msgstr ""
-#: ../../ipalib/plugins/dns.py:159
+#: ../../ipalib/plugins/dns.py:177
msgid "SOA class"
msgstr ""
-#: ../../ipalib/plugins/dns.py:164
+#: ../../ipalib/plugins/dns.py:182
msgid "allow dynamic update?"
msgstr "允许动态更新?"
-#: ../../ipalib/plugins/dns.py:168
+#: ../../ipalib/plugins/dns.py:186
msgid "BIND update policy"
msgstr ""
-#: ../../ipalib/plugins/dns.py:393
-#: ../../ipalib/plugins/dns.py:427
-#: ../../ipalib/plugins/dns.py:462
-#: ../../ipalib/plugins/dns.py:577
-#: ../../ipalib/plugins/dns.py:662
-#: ../../ipalib/plugins/dns.py:786
+#: ../../ipalib/plugins/dns.py:411 ../../ipalib/plugins/dns.py:445
+#: ../../ipalib/plugins/dns.py:480 ../../ipalib/plugins/dns.py:595
+#: ../../ipalib/plugins/dns.py:680 ../../ipalib/plugins/dns.py:804
msgid "Zone name"
msgstr ""
-#: ../../ipalib/plugins/dns.py:467
+#: ../../ipalib/plugins/dns.py:485
msgid "resource name"
msgstr "资源名称"
-#: ../../ipalib/plugins/dns.py:472
-#: ../../ipalib/plugins/dns.py:587
-#: ../../ipalib/plugins/dns.py:678
+#: ../../ipalib/plugins/dns.py:490 ../../ipalib/plugins/dns.py:605
+#: ../../ipalib/plugins/dns.py:696
msgid "Record type"
msgstr "记录类型"
-#: ../../ipalib/plugins/dns.py:476
-#: ../../ipalib/plugins/dns.py:591
+#: ../../ipalib/plugins/dns.py:494 ../../ipalib/plugins/dns.py:609
msgid "Data"
msgstr "数据"
-#: ../../ipalib/plugins/dns.py:477
-#: ../../ipalib/plugins/dns.py:592
+#: ../../ipalib/plugins/dns.py:495 ../../ipalib/plugins/dns.py:610
msgid "Type-specific data"
msgstr ""
-#: ../../ipalib/plugins/dns.py:484
+#: ../../ipalib/plugins/dns.py:502
msgid "Time to live"
msgstr ""
-#: ../../ipalib/plugins/dns.py:489
+#: ../../ipalib/plugins/dns.py:507
msgid "Class"
msgstr ""
-#: ../../ipalib/plugins/dns.py:582
-#: ../../ipalib/plugins/dns.py:674
-#: ../../ipalib/plugins/dns.py:791
+#: ../../ipalib/plugins/dns.py:600 ../../ipalib/plugins/dns.py:692
+#: ../../ipalib/plugins/dns.py:809
msgid "Resource name"
msgstr "资源名称"
-#: ../../ipalib/plugins/dns.py:667
+#: ../../ipalib/plugins/dns.py:685
msgid "Search criteria"
msgstr "搜索条件"
-#: ../../ipalib/plugins/dns.py:682
+#: ../../ipalib/plugins/dns.py:700
msgid "type-specific data"
msgstr ""
+#: ../../ipalib/plugins/dns.py:850
+#, fuzzy, python-format
+msgid "Found '%(value)s'"
+msgstr "已添加组\"%(value)s\""
+
+#: ../../ipalib/plugins/dns.py:854
+#, fuzzy
+msgid "Hostname"
+msgstr "主机名"
+
+#: ../../ipalib/plugins/dns.py:867
+#, python-format
+msgid "Host '%(host)s' not found"
+msgstr ""
+
#: ../../ipalib/plugins/automount.py:108
msgid "Automount location name"
msgstr ""
@@ -1102,7 +1363,7 @@ msgid "Map"
msgstr ""
#: ../../ipalib/plugins/automount.py:225
-msgid "Aautomount map name"
+msgid "Automount map name"
msgstr ""
#: ../../ipalib/plugins/automount.py:234
@@ -1141,313 +1402,390 @@ msgstr ""
msgid "Name of parent automount map (default: auto.master)"
msgstr ""
-#: ../../ipalib/plugins/netgroup.py:47
+#: ../../ipalib/plugins/netgroup.py:57
+#, fuzzy
+msgid "Member Host"
+msgstr "成员主机"
+
+#: ../../ipalib/plugins/netgroup.py:63
+msgid "External host"
+msgstr "外部主机"
+
+#: ../../ipalib/plugins/netgroup.py:85
msgid "Net Groups"
msgstr "网络组"
-#: ../../ipalib/plugins/netgroup.py:52
+#: ../../ipalib/plugins/netgroup.py:90
msgid "Netgroup name"
msgstr "网络组名称"
-#: ../../ipalib/plugins/netgroup.py:59
+#: ../../ipalib/plugins/netgroup.py:97
msgid "Netgroup description"
msgstr "网络组描述"
-#: ../../ipalib/plugins/netgroup.py:63
+#: ../../ipalib/plugins/netgroup.py:101
msgid "NIS domain name"
msgstr "NIS域名"
-#: ../../ipalib/plugins/netgroup.py:80
-msgid "Member host"
-msgstr "成员主机"
-
-#: ../../ipalib/plugins/netgroup.py:88
-msgid "External host"
-msgstr "外部主机"
+#: ../../ipalib/plugins/netgroup.py:106
+msgid "IPA unique ID"
+msgstr ""
-#: ../../ipalib/plugins/misc.py:37
+#: ../../ipalib/plugins/misc.py:38
#, python-format
msgid "%(count)d variables"
msgstr ""
-#: ../../ipalib/plugins/misc.py:96
+#: ../../ipalib/plugins/misc.py:61
+msgid "Total number of variables env (>= count)"
+msgstr ""
+
+#: ../../ipalib/plugins/misc.py:66
+msgid "Number of variables returned (<= total)"
+msgstr ""
+
+#: ../../ipalib/plugins/misc.py:109
#, python-format
msgid "%(count)d plugin loaded"
msgid_plural "%(count)d plugins loaded"
msgstr[0] ""
msgstr[1] ""
-#: ../../ipalib/plugins/user.py:53
+#: ../../ipalib/plugins/misc.py:116
+msgid "Number of plugins loaded"
+msgstr ""
+
+#: ../../ipalib/plugins/user.py:84
msgid "User login"
msgstr "用户登录名"
-#: ../../ipalib/plugins/user.py:60
+#: ../../ipalib/plugins/user.py:91
msgid "First name"
msgstr "名"
-#: ../../ipalib/plugins/user.py:64
+#: ../../ipalib/plugins/user.py:95
msgid "Last name"
msgstr "姓"
-#: ../../ipalib/plugins/user.py:72
+#: ../../ipalib/plugins/user.py:103
msgid "GECOS field"
msgstr "GECOS字段"
-#: ../../ipalib/plugins/user.py:78
+#: ../../ipalib/plugins/user.py:109
msgid "Login shell"
msgstr "登录shell"
-#: ../../ipalib/plugins/user.py:83
+#: ../../ipalib/plugins/user.py:114
msgid "Kerberos principal"
msgstr ""
-#: ../../ipalib/plugins/user.py:89
+#: ../../ipalib/plugins/user.py:120
msgid "Email address"
msgstr "邮件地址"
-#: ../../ipalib/plugins/user.py:93
+#: ../../ipalib/plugins/user.py:124
msgid "Password"
msgstr "密码"
-#: ../../ipalib/plugins/user.py:94
+#: ../../ipalib/plugins/user.py:125
msgid "Set the user password"
msgstr "设置用户密码"
-#: ../../ipalib/plugins/user.py:101
+#: ../../ipalib/plugins/user.py:132
msgid "UID"
msgstr "UID"
-#: ../../ipalib/plugins/user.py:102
-msgid "UID (use this option to set it manually)"
+#: ../../ipalib/plugins/user.py:133
+msgid "User ID Number (system will assign one if not provided)"
msgstr ""
-#: ../../ipalib/plugins/user.py:106
+#: ../../ipalib/plugins/user.py:139
msgid "Street address"
msgstr "街道地址"
-#: ../../ipalib/plugins/user.py:113
+#: ../../ipalib/plugins/user.py:142
+msgid "Groups"
+msgstr "用户组"
+
+#: ../../ipalib/plugins/user.py:146
msgid "Netgroups"
msgstr "网络组"
-#: ../../ipalib/plugins/user.py:117
+#: ../../ipalib/plugins/user.py:150
msgid "Rolegroups"
msgstr "角色组"
-#: ../../ipalib/plugins/user.py:121
+#: ../../ipalib/plugins/user.py:154
msgid "Taskgroups"
msgstr "任务组"
-#: ../../ipalib/plugins/user.py:134
+#: ../../ipalib/plugins/user.py:167
#, python-format
msgid "Added user \"%(value)s\""
msgstr "新增用户\"%(value)s\""
-#: ../../ipalib/plugins/user.py:179
+#: ../../ipalib/plugins/user.py:216
#, python-format
msgid "Deleted user \"%(value)s\""
msgstr "已删除用户\"%(value)s\""
-#: ../../ipalib/plugins/user.py:198
+#: ../../ipalib/plugins/user.py:235
#, python-format
msgid "Modified user \"%(value)s\""
msgstr "已修改用户\"%(value)s\""
-#: ../../ipalib/plugins/user.py:209
+#: ../../ipalib/plugins/user.py:247
+msgid "Self"
+msgstr ""
+
+#: ../../ipalib/plugins/user.py:248
+msgid "Display user record for current Kerberos principal"
+msgstr ""
+
+#: ../../ipalib/plugins/user.py:258
#, python-format
msgid "%(count)d user matched"
msgid_plural "%(count)d users matched"
msgstr[0] ""
msgstr[1] ""
-#: ../../ipalib/plugins/user.py:229
+#: ../../ipalib/plugins/user.py:278
#, python-format
msgid "Locked user \"%(value)s\""
msgstr "已锁定用户\"%(value)s\""
-#: ../../ipalib/plugins/user.py:255
+#: ../../ipalib/plugins/user.py:304
#, python-format
msgid "Unlocked user \"%(value)s\""
msgstr "已解锁用户\"%(value)s\""
-#: ../../ipalib/plugins/taskgroup.py:43
+#: ../../ipalib/plugins/taskgroup.py:51
msgid "Task Groups"
msgstr "任务组"
-#: ../../ipalib/plugins/taskgroup.py:48
+#: ../../ipalib/plugins/taskgroup.py:56
msgid "Task-group name"
msgstr "任务组名称"
-#: ../../ipalib/plugins/taskgroup.py:55
+#: ../../ipalib/plugins/taskgroup.py:63
msgid "Task-group description"
msgstr "任务组描述"
-#: ../../ipalib/plugins/taskgroup.py:66
+#: ../../ipalib/plugins/taskgroup.py:74
msgid "Member role-groups"
msgstr ""
-#: ../../ipalib/plugins/taskgroup.py:79
+#: ../../ipalib/plugins/taskgroup.py:87
#, python-format
msgid "Added taskgroup \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/taskgroup.py:89
+#: ../../ipalib/plugins/taskgroup.py:97
#, python-format
msgid "Deleted taskgroup \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/taskgroup.py:99
+#: ../../ipalib/plugins/taskgroup.py:107
#, python-format
msgid "Modified taskgroup \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/taskgroup.py:110
+#: ../../ipalib/plugins/taskgroup.py:118
#, python-format
msgid "%(count)d taskgroup matched"
msgid_plural "%(count)d taskgroups matched"
msgstr[0] ""
msgstr[1] ""
-#: ../../ipalib/plugins/hostgroup.py:43
-msgid "Host Groups"
-msgstr "主机组"
-
-#: ../../ipalib/plugins/hostgroup.py:48
+#: ../../ipalib/plugins/hostgroup.py:74
msgid "Host-group"
msgstr "主机组"
-#: ../../ipalib/plugins/hostgroup.py:49
+#: ../../ipalib/plugins/hostgroup.py:75
msgid "Name of host-group"
msgstr "主机组名称"
-#: ../../ipalib/plugins/hostgroup.py:56
+#: ../../ipalib/plugins/hostgroup.py:82
msgid "A description of this host-group"
msgstr ""
-#: ../../ipalib/plugins/hostgroup.py:59
+#: ../../ipalib/plugins/hostgroup.py:85
msgid "Member hosts"
msgstr "成员主机"
-#: ../../ipalib/plugins/hostgroup.py:63
+#: ../../ipalib/plugins/hostgroup.py:89
msgid "Member host-groups"
msgstr "主机组成员"
-#: ../../ipalib/plugins/hostgroup.py:80
+#: ../../ipalib/plugins/hostgroup.py:106
#, python-format
msgid "Added hostgroup \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/hostgroup.py:90
+#: ../../ipalib/plugins/hostgroup.py:116
#, python-format
msgid "Deleted hostgroup \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/hostgroup.py:100
+#: ../../ipalib/plugins/hostgroup.py:126
#, python-format
msgid "Modified hostgroup \"%(value)s\""
msgstr ""
-#: ../../ipalib/plugins/hostgroup.py:111
+#: ../../ipalib/plugins/hostgroup.py:137
#, python-format
msgid "%(count)d hostgroup matched"
msgid_plural "%(count)d hostgroups matched"
msgstr[0] ""
msgstr[1] ""
-#: ../../ipalib/plugins/pwpolicy.py:121
+#: ../../ipalib/plugins/pwpolicy.py:84
+#, python-format
+msgid "priority must be a unique value (%(prio)d already used by %(gname)s)"
+msgstr ""
+
#: ../../ipalib/plugins/pwpolicy.py:173
-#: ../../ipalib/plugins/pwpolicy.py:225
-#: ../../ipalib/plugins/pwpolicy.py:321
msgid "Group"
msgstr "组"
-#: ../../ipalib/plugins/pwpolicy.py:126
+#: ../../ipalib/plugins/pwpolicy.py:174
+msgid "Manage password policy for specific group"
+msgstr ""
+
+#: ../../ipalib/plugins/pwpolicy.py:179
msgid "Max lifetime (days)"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:127
+#: ../../ipalib/plugins/pwpolicy.py:180
msgid "Maximum password lifetime (in days)"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:133
+#: ../../ipalib/plugins/pwpolicy.py:185
msgid "Min lifetime (hours)"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:134
+#: ../../ipalib/plugins/pwpolicy.py:186
msgid "Minimum password lifetime (in hours)"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:140
+#: ../../ipalib/plugins/pwpolicy.py:191
msgid "History size"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:141
+#: ../../ipalib/plugins/pwpolicy.py:192
msgid "Password history size"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:147
+#: ../../ipalib/plugins/pwpolicy.py:197
msgid "Character classes"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:148
+#: ../../ipalib/plugins/pwpolicy.py:198
msgid "Minimum number of character classes"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:154
+#: ../../ipalib/plugins/pwpolicy.py:204
msgid "Min length"
msgstr "最小长度"
-#: ../../ipalib/plugins/pwpolicy.py:155
+#: ../../ipalib/plugins/pwpolicy.py:205
msgid "Minimum length of password"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:169
-#, python-format
-msgid "Added policy for group \"%(value)s\""
+#: ../../ipalib/plugins/pwpolicy.py:210
+msgid "Priority"
+msgstr "优先级"
+
+#: ../../ipalib/plugins/pwpolicy.py:211
+msgid "Priority of the policy (higher number means lower priority"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:174
-#: ../../ipalib/plugins/pwpolicy.py:226
-msgid "Group to set policy for"
+#: ../../ipalib/plugins/pwpolicy.py:263
+msgid "Maximum password life must be greater than minimum."
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:179
-#: ../../ipalib/plugins/pwpolicy.py:230
-msgid "Priority"
-msgstr "优先级"
+#: ../../ipalib/plugins/pwpolicy.py:326
+msgid "priority cannot be set on global policy"
+msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:180
-#: ../../ipalib/plugins/pwpolicy.py:231
-msgid "Priority of the policy (higher number equals lower priority)"
+#: ../../ipalib/plugins/pwpolicy.py:365
+msgid "User"
+msgstr "用户"
+
+#: ../../ipalib/plugins/pwpolicy.py:366
+msgid "Display effective policy for a specific user"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:222
-#, python-format
-msgid "Modified policy for group \"%(value)s\""
+#: ../../ipalib/plugins/internal.py:39
+msgid "Logged In As"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:244
-msgid "priority cannot be set on global policy"
+#: ../../ipalib/plugins/internal.py:41
+msgid "Add"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:277
-#, python-format
-msgid "Deleted policy for group \"%(value)s\""
+#: ../../ipalib/plugins/internal.py:42
+msgid "Find"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:322
-msgid "Group to display policy"
+#: ../../ipalib/plugins/internal.py:43
+msgid "Reset"
msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:325
-msgid "User"
-msgstr "用户"
+#: ../../ipalib/plugins/internal.py:44
+msgid "Update"
+msgstr ""
-#: ../../ipalib/plugins/pwpolicy.py:326
-msgid "Display policy applied to a given user"
+#: ../../ipalib/plugins/internal.py:45
+msgid "Enroll"
+msgstr ""
+
+#: ../../ipalib/plugins/internal.py:48
+msgid "Quick Links"
+msgstr ""
+
+#: ../../ipalib/plugins/internal.py:51
+msgid "Identity Details"
+msgstr ""
+
+#: ../../ipalib/plugins/internal.py:52
+msgid "Account Details"
+msgstr ""
+
+#: ../../ipalib/plugins/internal.py:53
+msgid "Contact Details"
+msgstr ""
+
+#: ../../ipalib/plugins/internal.py:54
+#, fuzzy
+msgid "Mailing Address"
+msgstr "邮件地址"
+
+#: ../../ipalib/plugins/internal.py:55
+msgid " Employee Information"
+msgstr ""
+
+#: ../../ipalib/plugins/internal.py:56
+msgid "Misc. Information"
+msgstr ""
+
+#: ../../ipalib/plugins/internal.py:57
+msgid "Back to Top"
msgstr ""
-#: ../../ipaserver/install/certs.py:576
-#: ../../ipaserver/plugins/dogtag.py:1313
+#: ../../ipalib/plugins/internal.py:62
+msgid "Name of object to export"
+msgstr ""
+
+#: ../../ipalib/plugins/internal.py:67
+msgid "Dict of JSON encoded IPA Objects"
+msgstr ""
+
+#: ../../ipalib/plugins/internal.py:68
+msgid "Dict of I18N messages"
+msgstr ""
+
+#: ../../ipaserver/install/certs.py:603 ../../ipaserver/plugins/dogtag.py:1313
#: ../../ipaserver/plugins/dogtag.py:1398
#: ../../ipaserver/plugins/dogtag.py:1463
#: ../../ipaserver/plugins/dogtag.py:1543
@@ -1456,29 +1794,48 @@ msgstr ""
msgid "Unable to communicate with CMS (%s)"
msgstr ""
-#: ../../ipaserver/plugins/selfsign.py:102
+#: ../../ipaserver/plugins/selfsign.py:97
#, python-format
-msgid "Request subject \"%(request_subject)s\" does not match the form \"%(subject_base)s\""
+msgid ""
+"Request subject \"%(request_subject)s\" does not match the form "
+"\"%(subject_base)s\""
msgstr ""
-#: ../../ipaserver/plugins/selfsign.py:107
+#: ../../ipaserver/plugins/selfsign.py:102
#, python-format
msgid "unable to decode csr: %s"
msgstr "不能解码csr: %s"
-#: ../../ipaserver/plugins/selfsign.py:128
-#: ../../ipaserver/plugins/selfsign.py:143
+#: ../../ipaserver/plugins/selfsign.py:123
+#: ../../ipaserver/plugins/selfsign.py:138
msgid "file operation"
msgstr "文件操作"
-#: ../../ipaserver/plugins/selfsign.py:157
+#: ../../ipaserver/plugins/selfsign.py:152
msgid "cannot obtain next serial number"
msgstr "无法得到下一个序列号"
-#: ../../ipaserver/plugins/selfsign.py:192
+#: ../../ipaserver/plugins/selfsign.py:187
msgid "certutil failure"
msgstr ""
+#: ../../ipaserver/plugins/join.py:54
+msgid "The hostname to register as"
+msgstr ""
+
+#: ../../ipaserver/plugins/join.py:62
+msgid "The IPA realm"
+msgstr ""
+
+#: ../../ipaserver/plugins/join.py:68
#, fuzzy
-#~ msgid "bind password"
-#~ msgstr "用户密码"
+msgid "Hardware platform of the host (e.g. Lenovo T61)"
+msgstr "主机硬件平台 (e.g. \"Lenovo T61\")"
+
+#: ../../ipaserver/plugins/join.py:72
+#, fuzzy
+msgid "Operating System and version of the host (e.g. Fedora 9)"
+msgstr "主机操作系统及版本(e.g. \"Fedora 9\")"
+
+#~ msgid "Service name"
+#~ msgstr "服务名"