Bash-4.3 distribution sources and documentation
[platform/upstream/bash.git] / po / zh_CN.po
index a62ce7c..b0757a6 100644 (file)
 # Chinese (Simplified) translation for bash package
-# Copyright (C) 2010 Free Software Foundation, Inc.
+# Copyright (C) 2010, 2011, 2013 Free Software Foundation, Inc.
 # This file is distributed under the same license as the bash package.
-# Xin Ye <alyex.ye@gmail.com>, 2010
+# Xin Ye <alyex.ye@gmail.com>, 2010.
+# Aron Xu <happyaron.xu@gmail.com>, 2011.
+# Anthony Fok <foka@debian.org>, 2013.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: bash 4.1\n"
+"Project-Id-Version: bash 4.3-pre2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-01-28 22:09-0500\n"
-"PO-Revision-Date: 2010-06-29 10:16+0800\n"
-"Last-Translator: Alex Ye <alyex.ye@gmail.com>\n"
+"POT-Creation-Date: 2014-02-11 11:19-0500\n"
+"PO-Revision-Date: 2013-09-02 05:15+0800\n"
+"Last-Translator: Anthony Fok <foka@debian.org>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
+"Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: arrayfunc.c:50
+#: arrayfunc.c:51
 msgid "bad array subscript"
-msgstr "坏的数组下标"
+msgstr "数组下标不正确"
 
-#: arrayfunc.c:313 builtins/declare.def:487
+#: arrayfunc.c:356 builtins/declare.def:566
 #, c-format
 msgid "%s: cannot convert indexed to associative array"
 msgstr "%s: 无法将索引数组转化为关联数组"
 
-#: arrayfunc.c:480
+#: arrayfunc.c:539
 #, c-format
 msgid "%s: invalid associative array key"
 msgstr "%s: 无效的关联数组键"
 
-#: arrayfunc.c:482
+#: arrayfunc.c:541
 #, c-format
 msgid "%s: cannot assign to non-numeric index"
 msgstr "%s: 无法为非数字的索引赋值"
 
-#: arrayfunc.c:518
+#: arrayfunc.c:586
 #, c-format
 msgid "%s: %s: must use subscript when assigning associative array"
 msgstr "%s: %s: 为关联数组赋值时必须使用下标"
 
-#: bashhist.c:387
+#: bashhist.c:388
 #, c-format
 msgid "%s: cannot create: %s"
 msgstr "%s: 无法创建: %s"
 
-#: bashline.c:3498
+#: bashline.c:3982
 msgid "bash_execute_unix_command: cannot find keymap for command"
 msgstr "bash_execute_unix_command: 无法为命令找到键映射"
 
-#: bashline.c:3584
+#: bashline.c:4069
 #, c-format
 msgid "%s: first non-whitespace character is not `\"'"
 msgstr "%s: 第一个非空字符不是 `\"'"
 
-#: bashline.c:3613
+#: bashline.c:4098
 #, c-format
 msgid "no closing `%c' in %s"
 msgstr "%2$s 中没有闭合的 `%1$c'"
 
-#: bashline.c:3647
+#: bashline.c:4132
 #, c-format
 msgid "%s: missing colon separator"
 msgstr "%s: 缺少冒号分隔符"
 
+#: braces.c:321
+#, c-format
+msgid "brace expansion: cannot allocate memory for %s"
+msgstr ""
+
+#: braces.c:413
+#, c-format
+msgid "brace expansion: failed to allocate memory for %d elements"
+msgstr ""
+
+#: braces.c:452
+#, c-format
+msgid "brace expansion: failed to allocate memory for `%s'"
+msgstr ""
+
 #: builtins/alias.def:132
 #, c-format
 msgid "`%s': invalid alias name"
 msgstr "`%s': 无效的别名"
 
-#: builtins/bind.def:120 builtins/bind.def:123
+#: builtins/bind.def:123 builtins/bind.def:126
 msgid "line editing not enabled"
-msgstr "行编辑未启用"
+msgstr "未启用行编辑"
 
-#: builtins/bind.def:206
+#: builtins/bind.def:212
 #, c-format
 msgid "`%s': invalid keymap name"
 msgstr "`%s': 无效的键映射名"
 
-#: builtins/bind.def:245
+#: builtins/bind.def:251
 #, c-format
 msgid "%s: cannot read: %s"
 msgstr "%s: 无法读取: %s"
 
-#: builtins/bind.def:260
+#: builtins/bind.def:266
 #, c-format
 msgid "`%s': cannot unbind"
 msgstr "`%s': 无法解除绑定"
 
-#: builtins/bind.def:295 builtins/bind.def:325
+#: builtins/bind.def:304 builtins/bind.def:334
 #, c-format
 msgid "`%s': unknown function name"
 msgstr "`%s': 未知函数名"
 
-#: builtins/bind.def:303
+#: builtins/bind.def:312
 #, c-format
 msgid "%s is not bound to any keys.\n"
 msgstr "%s 未与任何键绑定。\n"
 
-#: builtins/bind.def:307
+#: builtins/bind.def:316
 #, c-format
 msgid "%s can be invoked via "
 msgstr "%s 可以被调用,通过"
@@ -111,7 +129,7 @@ msgstr "循环计数"
 msgid "only meaningful in a `for', `while', or `until' loop"
 msgstr "仅在`for', `while', 或者`until' 循环中有意义"
 
-#: builtins/caller.def:133
+#: builtins/caller.def:134
 msgid ""
 "Returns the context of the current subroutine call.\n"
 "    \n"
@@ -119,13 +137,17 @@ msgid ""
 msgstr ""
 "返回当前子例程调用的上下文\n"
 "    \n"
-"    不带 EXPR 时, 返回"
+"    不带 EXPR 时,返回"
 
-#: builtins/cd.def:235
+#: builtins/cd.def:319
 msgid "HOME not set"
 msgstr "HOME 未设定"
 
-#: builtins/cd.def:247
+#: builtins/cd.def:327 builtins/common.c:166 test.c:876
+msgid "too many arguments"
+msgstr "参数太多"
+
+#: builtins/cd.def:338
 msgid "OLDPWD not set"
 msgstr "OLDPWD 未设定"
 
@@ -134,7 +156,7 @@ msgstr "OLDPWD 未设定"
 msgid "line %d: "
 msgstr "第 %d 行:"
 
-#: builtins/common.c:139 error.c:261
+#: builtins/common.c:139 error.c:265
 #, c-format
 msgid "warning: "
 msgstr "警告:"
@@ -144,11 +166,7 @@ msgstr "警告:"
 msgid "%s: usage: "
 msgstr "%s: 用法:"
 
-#: builtins/common.c:166 test.c:832
-msgid "too many arguments"
-msgstr "参数太多"
-
-#: builtins/common.c:191 shell.c:500 shell.c:782
+#: builtins/common.c:191 shell.c:506 shell.c:788
 #, c-format
 msgid "%s: option requires an argument"
 msgstr "%s: 选项需要一个参数"
@@ -163,7 +181,7 @@ msgstr "%s: 需要数字参数"
 msgid "%s: not found"
 msgstr "%s: 未找到"
 
-#: builtins/common.c:214 shell.c:795
+#: builtins/common.c:214 shell.c:801
 #, c-format
 msgid "%s: invalid option"
 msgstr "%s: 无效选项"
@@ -173,7 +191,7 @@ msgstr "%s: 无效选项"
 msgid "%s: invalid option name"
 msgstr "%s: 无效的选项名"
 
-#: builtins/common.c:228 general.c:231 general.c:236
+#: builtins/common.c:228 general.c:235 general.c:240
 #, c-format
 msgid "`%s': not a valid identifier"
 msgstr "`%s': 不是有效的标识符"
@@ -186,7 +204,7 @@ msgstr "无效的八进制数"
 msgid "invalid hex number"
 msgstr "无效的十六进制数"
 
-#: builtins/common.c:242 expr.c:1362
+#: builtins/common.c:242 expr.c:1470
 msgid "invalid number"
 msgstr "无效数字"
 
@@ -200,7 +218,7 @@ msgstr "%s: 无效的信号声明"
 msgid "`%s': not a pid or valid job spec"
 msgstr "`%s': 不是有效的进程号或者任务声明"
 
-#: builtins/common.c:264 error.c:454
+#: builtins/common.c:264 error.c:488
 #, c-format
 msgid "%s: readonly variable"
 msgstr "%s: 只读变量"
@@ -245,7 +263,7 @@ msgstr "受限的"
 #: builtins/common.c:312
 #, c-format
 msgid "%s: not a shell builtin"
-msgstr "%s: 不是shell内建"
+msgstr "%s: 不是 shell 内建"
 
 #: builtins/common.c:321
 #, c-format
@@ -272,48 +290,58 @@ msgstr "%s: 获取当前目录时出错: %s: %s\n"
 msgid "%s: ambiguous job spec"
 msgstr "%s: 模糊的任务声明"
 
-#: builtins/complete.def:276
+#: builtins/complete.def:277
 #, c-format
 msgid "%s: invalid action name"
 msgstr "%s: 无效的动作名"
 
-#: builtins/complete.def:449 builtins/complete.def:644
-#: builtins/complete.def:853
+#: builtins/complete.def:450 builtins/complete.def:645
+#: builtins/complete.def:855
 #, c-format
 msgid "%s: no completion specification"
-msgstr "%s: æ²¡æ\9c\89è¡¥å®\8c声明"
+msgstr "%s: æ²¡æ\9c\89è¡¥å\85¨声明"
 
-#: builtins/complete.def:696
+#: builtins/complete.def:697
 msgid "warning: -F option may not work as you expect"
 msgstr "警告: -F 选项可能不像您预期的那样工作"
 
-#: builtins/complete.def:698
+#: builtins/complete.def:699
 msgid "warning: -C option may not work as you expect"
 msgstr "警告: -C 选项可能不像您预期的那样工作"
 
-#: builtins/complete.def:826
+#: builtins/complete.def:828
 msgid "not currently executing completion function"
-msgstr "目前不在执行补完功能"
+msgstr "当前未执行补完功能"
 
-#: builtins/declare.def:124
+#: builtins/declare.def:126
 msgid "can only be used in a function"
 msgstr "只能在函数中使用"
 
-#: builtins/declare.def:366
+#: builtins/declare.def:315 builtins/declare.def:509
+#, c-format
+msgid "%s: reference variable cannot be an array"
+msgstr ""
+
+#: builtins/declare.def:324
+#, c-format
+msgid "%s: nameref variable self references not allowed"
+msgstr ""
+
+#: builtins/declare.def:398
 msgid "cannot use `-f' to make functions"
 msgstr "无法用 `-f' 生成函数"
 
-#: builtins/declare.def:378 execute_cmd.c:5105
+#: builtins/declare.def:410 execute_cmd.c:5361
 #, c-format
 msgid "%s: readonly function"
 msgstr "%s: 只读函数"
 
-#: builtins/declare.def:474
+#: builtins/declare.def:553
 #, c-format
 msgid "%s: cannot destroy array variables in this way"
-msgstr "%s: 无法以这种方式毁数组变量"
+msgstr "%s: 无法以这种方式毁数组变量"
 
-#: builtins/declare.def:481
+#: builtins/declare.def:560 builtins/read.def:733
 #, c-format
 msgid "%s: cannot convert associative to indexed array"
 msgstr "%s: 无法将关联数组转化为索引数组"
@@ -335,31 +363,30 @@ msgstr "无法在共享对象 %2$s 中找到 %1$s: %3$s"
 #: builtins/enable.def:459
 #, c-format
 msgid "%s: not dynamically loaded"
-msgstr "%s: 不是动态加载"
+msgstr "%s: 未以动态方式加载"
 
 #: builtins/enable.def:474
 #, c-format
 msgid "%s: cannot delete: %s"
 msgstr "%s: 无法删除: %s"
 
-#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
-#: shell.c:1457
+#: builtins/evalfile.c:140 builtins/hash.def:171 execute_cmd.c:5208
+#: shell.c:1481
 #, c-format
 msgid "%s: is a directory"
 msgstr "%s: 是一个目录"
 
-#: builtins/evalfile.c:140
+#: builtins/evalfile.c:146
 #, c-format
 msgid "%s: not a regular file"
 msgstr "%s: 不是常规文件"
 
-#: builtins/evalfile.c:148
+#: builtins/evalfile.c:155
 #, c-format
 msgid "%s: file is too large"
 msgstr "%s: 文件太大"
 
-#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
-#: shell.c:1467
+#: builtins/evalfile.c:190 builtins/evalfile.c:208 shell.c:1491
 #, c-format
 msgid "%s: cannot execute binary file"
 msgstr "%s: 无法执行二进制文件"
@@ -372,11 +399,11 @@ msgstr "%s: 无法执行: %s"
 #: builtins/exit.def:65
 #, c-format
 msgid "logout\n"
-msgstr "登出\n"
+msgstr "注销\n"
 
 #: builtins/exit.def:88
 msgid "not login shell: use `exit'"
-msgstr "不是登录shell: 使用 `exit'"
+msgstr "不是登录 shell: 使用 `exit'"
 
 #: builtins/exit.def:120
 #, c-format
@@ -392,11 +419,11 @@ msgstr "有运行中的任务。\n"
 msgid "no command found"
 msgstr "未找到命令"
 
-#: builtins/fc.def:312 builtins/fc.def:359
+#: builtins/fc.def:320 builtins/fc.def:369
 msgid "history specification"
 msgstr "历史声明"
 
-#: builtins/fc.def:380
+#: builtins/fc.def:390
 #, c-format
 msgid "%s: cannot open temp file: %s"
 msgstr "%s: 无法打开临时文件: %s"
@@ -408,7 +435,7 @@ msgstr "当前"
 #: builtins/fg_bg.def:158
 #, c-format
 msgid "job %d started without job control"
-msgstr "不带任务控制的情况下启动了任务 %d"
+msgstr "不带任务控制的情况下启动了任务 %d"
 
 #: builtins/getopt.c:110
 #, c-format
@@ -422,7 +449,7 @@ msgstr "%s: 选项需要一个参数 -- %c\n"
 
 #: builtins/hash.def:92
 msgid "hashing disabled"
-msgstr "å\93\88å¸\8cå·²ç¦\81ç\94¨"
+msgstr "å·²ç¦\81ç\94¨å\93\88å¸\8c"
 
 #: builtins/hash.def:138
 #, c-format
@@ -438,22 +465,21 @@ msgstr "命中\t命令\n"
 #, c-format
 msgid "Shell commands matching keyword `"
 msgid_plural "Shell commands matching keywords `"
-msgstr[0] "Shell命令匹配关键字`"
+msgstr[0] "Shell 命令匹配关键字 `"
 
-#: builtins/help.def:168
+#: builtins/help.def:182
 #, c-format
 msgid ""
 "no help topics match `%s'.  Try `help help' or `man -k %s' or `info %s'."
 msgstr ""
-"没有与 `%s' 匹配的帮助主题。尝试 `help help' 或者 `man -k %s' 或者 `info %"
-"s'。"
+"没有与 `%s' 匹配的帮助主题。尝试 `help help' 或 `man -k %s' 或 `info %s'。"
 
-#: builtins/help.def:185
+#: builtins/help.def:199
 #, c-format
 msgid "%s: cannot open: %s"
 msgstr "%s: 无法打开: %s"
 
-#: builtins/help.def:337
+#: builtins/help.def:485
 #, c-format
 msgid ""
 "These shell commands are defined internally.  Type `help' to see this list.\n"
@@ -464,12 +490,12 @@ msgid ""
 "A star (*) next to a name means that the command is disabled.\n"
 "\n"
 msgstr ""
-"这些 shell 命令是内部定义的。请输入 `help' 以获取一个列表.\n"
-"输入 `help 名称' 以得到有关函数`名称'的更多信息.\n"
-"使用 `info bash' 来获得关于 shell 的更多一般性信息\n"
-"使用 `man -k' 或 `info' 来获取不在列表中的命令的更多信息.\n"
+"这些 shell 命令是内部定义的。请输入 `help' 以获取一个列表\n"
+"输入 `help 名称' 以得到有关函数`名称'的更多信息\n"
+"使用 `info bash' 来获得关于 shell 的更多一般性信息\n"
+"使用 `man -k' 或 `info' 来获取不在列表中的命令的更多信息\n"
 "\n"
-"名称旁边的星号 (*) 意味着该命令被禁用.\n"
+"名称旁边的星号(*)表示该命令被禁用。\n"
 "\n"
 
 #: builtins/history.def:154
@@ -480,7 +506,7 @@ msgstr "最多只能使用 -anrw 选项中的一个"
 msgid "history position"
 msgstr "历史位置"
 
-#: builtins/history.def:365
+#: builtins/history.def:366
 #, c-format
 msgid "%s: history expansion failed"
 msgstr "%s: 历史扩展失败"
@@ -494,103 +520,113 @@ msgstr "%s: inlib 失败"
 msgid "no other options allowed with `-x'"
 msgstr "其他选项不能与 `-x' 同时使用"
 
-#: builtins/kill.def:198
+#: builtins/kill.def:200
 #, c-format
 msgid "%s: arguments must be process or job IDs"
 msgstr "%s: 参数必须是进程或任务 ID"
 
-#: builtins/kill.def:261
+#: builtins/kill.def:263
 msgid "Unknown error"
 msgstr "未知错误"
 
-#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
+#: builtins/let.def:95 builtins/let.def:120 expr.c:583 expr.c:598
 msgid "expression expected"
-msgstr "期待表达式"
+msgstr "需要表达式"
 
 #: builtins/mapfile.def:172
 #, c-format
 msgid "%s: not an indexed array"
 msgstr "%s: 不是一个索引数组"
 
-#: builtins/mapfile.def:256 builtins/read.def:279
+#: builtins/mapfile.def:259 builtins/read.def:302
 #, c-format
 msgid "%s: invalid file descriptor specification"
 msgstr "%s: 无效的文件描述符声明"
 
-#: builtins/mapfile.def:264 builtins/read.def:286
+#: builtins/mapfile.def:267 builtins/read.def:309
 #, c-format
 msgid "%d: invalid file descriptor: %s"
 msgstr "%d: 无效的文件描述符: %s"
 
-#: builtins/mapfile.def:273 builtins/mapfile.def:311
+#: builtins/mapfile.def:276 builtins/mapfile.def:314
 #, c-format
 msgid "%s: invalid line count"
 msgstr "%s: 无效的行数"
 
-#: builtins/mapfile.def:284
+#: builtins/mapfile.def:287
 #, c-format
 msgid "%s: invalid array origin"
 msgstr "%s: 无效的数组基数"
 
-#: builtins/mapfile.def:301
+#: builtins/mapfile.def:304
 #, c-format
 msgid "%s: invalid callback quantum"
 msgstr "%s: 无效的回调量子"
 
-#: builtins/mapfile.def:333
+#: builtins/mapfile.def:336
 msgid "empty array variable name"
 msgstr "空数组变量名"
 
-#: builtins/mapfile.def:354
+#: builtins/mapfile.def:357
 msgid "array variable support required"
 msgstr "需要数组变量支持"
 
-#: builtins/printf.def:394
+#: builtins/printf.def:402
 #, c-format
 msgid "`%s': missing format character"
 msgstr "`%s': 缺少格式字符"
 
-#: builtins/printf.def:448
-#, fuzzy, c-format
+#: builtins/printf.def:456
+#, c-format
 msgid "`%c': invalid time format specification"
-msgstr "%s: 无效的超时声明"
+msgstr "`%c': 无效的时间格式声明"
 
-#: builtins/printf.def:635
+#: builtins/printf.def:658
 #, c-format
 msgid "`%c': invalid format character"
 msgstr "`%c': 无效格式字符"
 
-#: builtins/printf.def:662
+#: builtins/printf.def:684
 #, c-format
 msgid "warning: %s: %s"
 msgstr "警告: %s: %s"
 
-#: builtins/printf.def:840
+#: builtins/printf.def:768
+#, c-format
+msgid "format parsing problem: %s"
+msgstr ""
+
+#: builtins/printf.def:865
 msgid "missing hex digit for \\x"
-msgstr "使用了\\x但缺少十六进制数"
+msgstr "使用了 \\x 但缺少十六进制数"
 
-#: builtins/printf.def:855
-#, fuzzy, c-format
+#: builtins/printf.def:880
+#, c-format
 msgid "missing unicode digit for \\%c"
-msgstr "使用了\\x但缺少十六进制数"
+msgstr "使用了 \\%c 但缺少 unicode 数"
 
 #: builtins/pushd.def:195
 msgid "no other directory"
 msgstr "无其他目录"
 
-#: builtins/pushd.def:462
+#: builtins/pushd.def:354
+#, fuzzy, c-format
+msgid "%s: invalid argument"
+msgstr "%s: 无效的 limit 参数"
+
+#: builtins/pushd.def:468
 msgid "<no current directory>"
 msgstr "<无当前目录>"
 
-#: builtins/pushd.def:506
+#: builtins/pushd.def:512
 msgid "directory stack empty"
 msgstr "目录栈为空"
 
-#: builtins/pushd.def:508
+#: builtins/pushd.def:514
 msgid "directory stack index"
 msgstr "目录栈索引"
 
-#: builtins/pushd.def:683
+#: builtins/pushd.def:689
 msgid ""
 "Display the list of currently remembered directories.  Directories\n"
 "    find their way onto the list with the `pushd' command; you can get\n"
@@ -613,9 +649,9 @@ msgid ""
 "by\n"
 "\tdirs when invoked without options, starting with zero."
 msgstr ""
-"显示当前记住的目录列表 目录\n"
-"    通过 `pushd' 命令加入这个列表您可以\n"
-"    使用 `popd' 命令对列表进行遍历.\n"
+"显示当前记住的目录列表 目录\n"
+"    通过 `pushd' 命令加入这个列表您可以\n"
+"    使用 `popd' 命令对列表进行遍历\n"
 "    \n"
 "    选项:\n"
 "      -c\t删除所有元素以清除目录栈\n"
@@ -627,12 +663,12 @@ msgstr ""
 "    \n"
 "    参数:\n"
 "      +N\t以 dirs 不带选项输出的顺序显示列表从左起第N个条目,\n"
-"    \t从 0 开始.\n"
+"    \t从 0 开始\n"
 "    \n"
 "      -N\t以 dirs 不带选项输出的顺序显示列表从右起第N个项目,\n"
-"\t从 0 开始."
+"\t从 0 开始"
 
-#: builtins/pushd.def:705
+#: builtins/pushd.def:711
 msgid ""
 "Adds a directory to the top of the directory stack, or rotates\n"
 "    the stack, making the new top of the stack the current working\n"
@@ -656,29 +692,29 @@ msgid ""
 "    \n"
 "    The `dirs' builtin displays the directory stack."
 msgstr ""
-"在目录栈顶部加入一个目录, 或者轮转\n"
-"    目录栈是当前工作目录成为新的栈顶\n"
-"    不带参数时,交换栈顶的两个目录.\n"
+"在目录栈顶部加入一个目录,或者论询\n"
+"    目录栈是当前工作目录成为新的栈顶\n"
+"    不带参数时,交换栈顶的两个目录\n"
 "    \n"
 "    选项:\n"
 "      -n\t抑制增加栈中目录时通常的改变目录的操作,\n"
 "    \t从而只有栈被操作。\n"
 "    \n"
 "    参数:\n"
-"      +N\t轮转栈使得第N个目录`dirs' 的\n"
-"    \t输出列表中左起,从0开始\n"
+"      +N\t轮转栈使得第N个目录(`dirs' 的\n"
+"    \t输出列表中左起,从0开始)\n"
 "    \t升至栈顶。\n"
 "    \n"
-"      -N\t轮转栈使得第N个目录`dirs' 的\n"
-"    \t输出列表中右起,从0开始\n"
+"      -N\t轮转栈使得第N个目录(`dirs' 的\n"
+"    \t输出列表中右起,从0开始)\n"
 "    \t升至栈顶\n"
 "    \n"
 "      dir\t添加目录至栈顶,并\n"
 "    \t使其成为新的当前工作目录。\n"
 "    \n"
-"    `dirs' å\86\85åµ\8c命令显示目录栈."
+"    `dirs' å\86\85建命令显示目录栈."
 
-#: builtins/pushd.def:730
+#: builtins/pushd.def:736
 msgid ""
 "Removes entries from the directory stack.  With no arguments, removes\n"
 "    the top directory from the stack, and changes to the new top directory.\n"
@@ -708,48 +744,48 @@ msgstr ""
 "    参数:\n"
 "      +N\t从 `dirs' 输出的列表中,\n"
 "    \t删除左起第N个条目,计数从0开始。例如:`popd +0'\n"
-"    \t删除第一个目录, `popd +1' 删除第二个。\n"
+"    \t删除第一个目录,`popd +1' 删除第二个。\n"
 "    \n"
 "      -N\t从 `dirs' 输出的列表中,\n"
 "    \t删除右起第N个条目,计数从0开始,例如:`popd -0'\n"
-"    \t删除最后一个条目, `popd -1' 删除倒数第二个。\n"
+"    \t删除最后一个条目,`popd -1' 删除倒数第二个。\n"
 "    \n"
-"    `dirs' å\86\85åµ\8c变量显示目录栈。"
+"    `dirs' å\86\85建变量显示目录栈。"
 
-#: builtins/read.def:252
+#: builtins/read.def:275
 #, c-format
 msgid "%s: invalid timeout specification"
 msgstr "%s: 无效的超时声明"
 
-#: builtins/read.def:588
+#: builtins/read.def:678
 #, c-format
 msgid "read error: %d: %s"
 msgstr "读错误: %d: %s"
 
-#: builtins/return.def:73
+#: builtins/return.def:75
 msgid "can only `return' from a function or sourced script"
-msgstr "只能从函数或者源脚本`返回'"
+msgstr "只能从函数或者源脚本返回(`return')"
 
-#: builtins/set.def:771
+#: builtins/set.def:782
 msgid "cannot simultaneously unset a function and a variable"
-msgstr "æ\97 æ³\95å\90\8cæ\97¶å\8f\8d设定一个函数和一个变量"
+msgstr "æ\97 æ³\95å\90\8cæ\97¶å\8f\96æ¶\88设定一个函数和一个变量"
 
-#: builtins/set.def:808
+#: builtins/set.def:826
 #, c-format
 msgid "%s: cannot unset"
-msgstr "%s: æ\97 æ³\95å\8f\8d设定"
+msgstr "%s: æ\97 æ³\95å\8f\96æ¶\88设定"
 
-#: builtins/set.def:815
+#: builtins/set.def:843
 #, c-format
 msgid "%s: cannot unset: readonly %s"
-msgstr "%s: æ\97 æ³\95å\8f\8d设定: 只读 %s"
+msgstr "%s: æ\97 æ³\95å\8f\96æ¶\88设定: 只读 %s"
 
-#: builtins/set.def:826
+#: builtins/set.def:854
 #, c-format
 msgid "%s: not an array variable"
 msgstr "%s: 不是数组变量"
 
-#: builtins/setattr.def:186
+#: builtins/setattr.def:187
 #, c-format
 msgid "%s: not a function"
 msgstr "%s: 不是函数"
@@ -758,11 +794,11 @@ msgstr "%s: 不是函数"
 msgid "shift count"
 msgstr "位移计数"
 
-#: builtins/shopt.def:264
+#: builtins/shopt.def:279
 msgid "cannot set and unset shell options simultaneously"
-msgstr "æ\97 æ³\95å\90\8cæ\97¶è®¾å®\9aå\92\8cå\8f\8d设定 shell 选项"
+msgstr "æ\97 æ³\95å\90\8cæ\97¶è®¾å®\9aå\92\8cå\8f\96æ¶\88设定 shell 选项"
 
-#: builtins/shopt.def:329
+#: builtins/shopt.def:346
 #, c-format
 msgid "%s: invalid shell option name"
 msgstr "%s: 无效的 shell 选项名"
@@ -774,7 +810,7 @@ msgstr "需要文件名参数"
 #: builtins/source.def:155
 #, c-format
 msgid "%s: file not found"
-msgstr "%s: æ²¡æ\9c\89æ\89¾å\88°æ\96\87件"
+msgstr "%s: æ\96\87件æ\9cªæ\89¾å\88°"
 
 #: builtins/suspend.def:101
 msgid "cannot suspend"
@@ -782,7 +818,7 @@ msgstr "无法挂起"
 
 #: builtins/suspend.def:111
 msgid "cannot suspend a login shell"
-msgstr "无法挂起一个登录shell"
+msgstr "无法挂起一个登录 shell"
 
 #: builtins/type.def:234
 #, c-format
@@ -802,9 +838,9 @@ msgstr "%s 是函数\n"
 #: builtins/type.def:296
 #, c-format
 msgid "%s is a shell builtin\n"
-msgstr "%s æ\98¯ shell å\86\85åµ\8c\n"
+msgstr "%s æ\98¯ shell å\86\85建\n"
 
-#: builtins/type.def:317 builtins/type.def:391
+#: builtins/type.def:317 builtins/type.def:393
 #, c-format
 msgid "%s is %s\n"
 msgstr "%s 是 %s\n"
@@ -812,47 +848,47 @@ msgstr "%s 是 %s\n"
 #: builtins/type.def:337
 #, c-format
 msgid "%s is hashed (%s)\n"
-msgstr "%s 已被哈希 (%s)\n"
+msgstr "%s 已经哈希操作(%s)\n"
 
-#: builtins/ulimit.def:376
+#: builtins/ulimit.def:383
 #, c-format
 msgid "%s: invalid limit argument"
 msgstr "%s: 无效的 limit 参数"
 
-#: builtins/ulimit.def:402
+#: builtins/ulimit.def:409
 #, c-format
 msgid "`%c': bad command"
-msgstr "`%c': å\9d\8fç\9a\84å\91½ä»¤"
+msgstr "`%c': å\91½ä»¤é\94\99误"
 
-#: builtins/ulimit.def:431
+#: builtins/ulimit.def:438
 #, c-format
 msgid "%s: cannot get limit: %s"
 msgstr "%s: 无法获取 limit 值: %s"
 
-#: builtins/ulimit.def:457
+#: builtins/ulimit.def:464
 msgid "limit"
 msgstr "limit"
 
-#: builtins/ulimit.def:469 builtins/ulimit.def:769
+#: builtins/ulimit.def:476 builtins/ulimit.def:776
 #, c-format
 msgid "%s: cannot modify limit: %s"
 msgstr "%s: 无法修改 limit 值: %s"
 
-#: builtins/umask.def:118
+#: builtins/umask.def:114
 msgid "octal number"
 msgstr "八进制数"
 
-#: builtins/umask.def:231
+#: builtins/umask.def:227
 #, c-format
 msgid "`%c': invalid symbolic mode operator"
 msgstr "`%c': 无效的符号状态运算符"
 
-#: builtins/umask.def:286
+#: builtins/umask.def:282
 #, c-format
 msgid "`%c': invalid symbolic mode character"
 msgstr "`%c': 无效的符号状态字符"
 
-#: error.c:90 error.c:321 error.c:323 error.c:325
+#: error.c:90 error.c:325 error.c:327 error.c:329
 msgid " line "
 msgstr "行"
 
@@ -864,300 +900,315 @@ msgstr "上一个命令: %s\n"
 #: error.c:173
 #, c-format
 msgid "Aborting..."
-msgstr "放弃..."
+msgstr "中止..."
 
-#: error.c:406
+#: error.c:440
 msgid "unknown command error"
 msgstr "未知的命令错误"
 
-#: error.c:407
+#: error.c:441
 msgid "bad command type"
-msgstr "的命令类型"
+msgstr "错误的命令类型"
 
-#: error.c:408
+#: error.c:442
 msgid "bad connector"
-msgstr "的条件连接符"
+msgstr "错误的条件连接符"
 
-#: error.c:409
+#: error.c:443
 msgid "bad jump"
-msgstr "的跳转"
+msgstr "错误的跳转"
 
-#: error.c:447
+#: error.c:481
 #, c-format
 msgid "%s: unbound variable"
-msgstr "%s: 为绑定变量"
+msgstr "%s: 未绑定的变量"
 
-#: eval.c:181
+#: eval.c:189
 #, c-format
 msgid "\atimed out waiting for input: auto-logout\n"
-msgstr "\a 等待输入超时:自动登出\n"
+msgstr "\a 等待输入超时:自动注销\n"
 
-#: execute_cmd.c:504
+#: execute_cmd.c:512
 #, c-format
 msgid "cannot redirect standard input from /dev/null: %s"
 msgstr "无法从 /dev/null 重定向标准输入: %s"
 
-#: execute_cmd.c:1168
+#: execute_cmd.c:1233
 #, c-format
 msgid "TIMEFORMAT: `%c': invalid format character"
 msgstr "时间格式: `%c': 无效的格式字符"
 
-#: execute_cmd.c:2121
+#: execute_cmd.c:2287
 msgid "pipe error"
 msgstr "管道错误"
 
-#: execute_cmd.c:4640
+#: execute_cmd.c:4386
+#, c-format
+msgid "%s: maximum function nesting level exceeded (%d)"
+msgstr ""
+
+#: execute_cmd.c:4884
 #, c-format
 msgid "%s: restricted: cannot specify `/' in command names"
 msgstr "%s: 受限的: 无法在命令名中使用 `/'"
 
-#: execute_cmd.c:4735
+#: execute_cmd.c:4973
 #, c-format
 msgid "%s: command not found"
 msgstr "%s: 未找到命令"
 
-#: execute_cmd.c:4959
-#, fuzzy, c-format
+#: execute_cmd.c:5206
+#, c-format
 msgid "%s: %s"
-msgstr "%s 是 %s\n"
+msgstr "%s: %s"
 
-#: execute_cmd.c:4995
+#: execute_cmd.c:5243
 #, c-format
 msgid "%s: %s: bad interpreter"
-msgstr "%s: %s: 坏的解释器"
+msgstr "%s: %s: 解释器错误"
 
-#: execute_cmd.c:5144
+#: execute_cmd.c:5280
+#, fuzzy, c-format
+msgid "%s: cannot execute binary file: %s"
+msgstr "%s: 无法执行二进制文件"
+
+#: execute_cmd.c:5352
+#, fuzzy, c-format
+msgid "`%s': is a special builtin"
+msgstr "%s 是 shell 内建\n"
+
+#: execute_cmd.c:5404
 #, c-format
 msgid "cannot duplicate fd %d to fd %d"
-msgstr "无法复制文件描述符 %d 到 文件描述符 %d"
+msgstr "无法复制文件描述符 %d 到文件描述符 %d"
 
-#: expr.c:256
+#: expr.c:259
 msgid "expression recursion level exceeded"
 msgstr "表达式递归层次越界"
 
-#: expr.c:280
+#: expr.c:283
 msgid "recursion stack underflow"
 msgstr "递归栈下溢"
 
-#: expr.c:422
+#: expr.c:431
 msgid "syntax error in expression"
 msgstr "表达式中有语法错误"
 
-#: expr.c:463
+#: expr.c:475
 msgid "attempted assignment to non-variable"
 msgstr "尝试给非变量赋值"
 
-#: expr.c:486 expr.c:491 expr.c:807
+#: expr.c:495 expr.c:858
 msgid "division by 0"
 msgstr "除0"
 
-#: expr.c:517
+#: expr.c:542
 msgid "bug: bad expassign token"
-msgstr "错误:坏的表达式赋值符号"
+msgstr "错误:表达式赋值符号错误"
 
-#: expr.c:564
+#: expr.c:595
 msgid "`:' expected for conditional expression"
-msgstr "条件表达式期待 `:'"
+msgstr "条件表达式需要 `:'"
 
-#: expr.c:832
+#: expr.c:919
 msgid "exponent less than 0"
 msgstr "指数小于0"
 
-#: expr.c:887
+#: expr.c:976
 msgid "identifier expected after pre-increment or pre-decrement"
 msgstr "预增符或预减符后应跟有标识符"
 
-#: expr.c:910
+#: expr.c:1002
 msgid "missing `)'"
 msgstr "缺少 `)'"
 
-#: expr.c:959 expr.c:1282
+#: expr.c:1053 expr.c:1390
 msgid "syntax error: operand expected"
-msgstr "语法错误: 期待操作数"
+msgstr "语法错误: 需要操作数"
 
-#: expr.c:1284
+#: expr.c:1392
 msgid "syntax error: invalid arithmetic operator"
 msgstr "语法错误: 无效的算术运算符"
 
-#: expr.c:1308
+#: expr.c:1416
 #, c-format
 msgid "%s%s%s: %s (error token is \"%s\")"
-msgstr "%s%s%s: %s (错误符号是 \"%s\")"
+msgstr "%s%s%s: %s (错误符号是 \"%s\")"
 
-#: expr.c:1366
+#: expr.c:1474
 msgid "invalid arithmetic base"
 msgstr "无效的算数进制"
 
-#: expr.c:1386
+#: expr.c:1494
 msgid "value too great for base"
 msgstr "数值太大不可为算数进制的基"
 
-#: expr.c:1435
+#: expr.c:1543
 #, c-format
 msgid "%s: expression error\n"
 msgstr "%s: 表达式错误\n"
 
-#: general.c:61
+#: general.c:62
 msgid "getcwd: cannot access parent directories"
 msgstr "getcwd: 无法访问父目录"
 
-#: input.c:94 subst.c:5082
+#: input.c:102 subst.c:5168
 #, c-format
 msgid "cannot reset nodelay mode for fd %d"
 msgstr "无法为文件描述符 %d 重置nodelay模式"
 
-#: input.c:260
+#: input.c:271
 #, c-format
 msgid "cannot allocate new file descriptor for bash input from fd %d"
 msgstr "无法从文件描述符 %d 为 bash 的输入获取一个新的文件描述符"
 
-#: input.c:268
+#: input.c:279
 #, c-format
 msgid "save_bash_input: buffer already exists for new fd %d"
 msgstr "save_bash_input: 已经存在新的文件描述符 %d 的缓冲区"
 
-#: jobs.c:468
+#: jobs.c:471
 msgid "start_pipeline: pgrp pipe"
 msgstr "start_pipeline: 进程组管道"
 
-#: jobs.c:889
+#: jobs.c:893
 #, c-format
 msgid "forked pid %d appears in running job %d"
 msgstr "生成的进程号 %d 显示为运行中的任务 %d"
 
-#: jobs.c:1007
+#: jobs.c:1012
 #, c-format
 msgid "deleting stopped job %d with process group %ld"
 msgstr "删除进程组 %2$ld 中已停止的任务 %1$d"
 
-#: jobs.c:1112
+#: jobs.c:1117
 #, c-format
 msgid "add_process: process %5ld (%s) in the_pipeline"
 msgstr "add_process: 进程 %5ld(%s) 进入 the_pipeline"
 
-#: jobs.c:1115
+#: jobs.c:1120
 #, c-format
 msgid "add_process: pid %5ld (%s) marked as still alive"
 msgstr "add_process: 进程号 %5ld(%s) 标注为仍活着"
 
-#: jobs.c:1430
+#: jobs.c:1435
 #, c-format
 msgid "describe_pid: %ld: no such pid"
 msgstr "describe_pid: %ld: 无此进程号"
 
-#: jobs.c:1445
+#: jobs.c:1450
 #, c-format
 msgid "Signal %d"
 msgstr "信号 %d"
 
-#: jobs.c:1459 jobs.c:1484
+#: jobs.c:1464 jobs.c:1489
 msgid "Done"
-msgstr "完成"
+msgstr "å·²å®\8cæ\88\90"
 
-#: jobs.c:1464 siglist.c:123
+#: jobs.c:1469 siglist.c:123
 msgid "Stopped"
 msgstr "已停止"
 
-#: jobs.c:1468
+#: jobs.c:1473
 #, c-format
 msgid "Stopped(%s)"
-msgstr "已停止 (%s)"
+msgstr "已停止(%s)"
 
-#: jobs.c:1472
+#: jobs.c:1477
 msgid "Running"
 msgstr "运行中"
 
-#: jobs.c:1486
+#: jobs.c:1491
 #, c-format
 msgid "Done(%d)"
-msgstr "å®\8cæ\88\90 (%d)"
+msgstr "å·²å®\8cæ\88\90(%d)"
 
-#: jobs.c:1488
+#: jobs.c:1493
 #, c-format
 msgid "Exit %d"
 msgstr "退出 %d"
 
-#: jobs.c:1491
+#: jobs.c:1496
 msgid "Unknown status"
 msgstr "未知状态"
 
-#: jobs.c:1578
+#: jobs.c:1583
 #, c-format
 msgid "(core dumped) "
-msgstr "(吐核)"
+msgstr "(核心已转储)"
 
-#: jobs.c:1597
+#: jobs.c:1602
 #, c-format
 msgid "  (wd: %s)"
-msgstr "(工作目录:%s)"
+msgstr "  (工作目录: %s)"
 
-#: jobs.c:1805
+#: jobs.c:1819
 #, c-format
 msgid "child setpgid (%ld to %ld)"
 msgstr "子进程 setpgid (%ld 到 %ld)"
 
-#: jobs.c:2133 nojobs.c:585
+#: jobs.c:2138 nojobs.c:605
 #, c-format
 msgid "wait: pid %ld is not a child of this shell"
 msgstr "wait: 进程号 %ld 不是当前 shell 的子进程"
 
-#: jobs.c:2360
+#: jobs.c:2385
 #, c-format
 msgid "wait_for: No record of process %ld"
 msgstr "wiat_for: 没有进程 %ld 的记录"
 
-#: jobs.c:2637
+#: jobs.c:2694
 #, c-format
 msgid "wait_for_job: job %d is stopped"
 msgstr "wait_for_job: 任务 %d 已停止"
 
-#: jobs.c:2859
+#: jobs.c:2986
 #, c-format
 msgid "%s: job has terminated"
 msgstr "%s: 任务已经终止"
 
-#: jobs.c:2868
+#: jobs.c:2995
 #, c-format
 msgid "%s: job %d already in background"
 msgstr "%s: 任务 %d 已在后台"
 
-#: jobs.c:3089
+#: jobs.c:3220
 msgid "waitchld: turning on WNOHANG to avoid indefinite block"
 msgstr "waitchld: 打开 WNOHANG 以避免无限阻塞"
 
-#: jobs.c:3538
+#: jobs.c:3711
 #, c-format
 msgid "%s: line %d: "
 msgstr "%s: 行 %d: "
 
-#: jobs.c:3552 nojobs.c:814
+#: jobs.c:3725 nojobs.c:843
 #, c-format
 msgid " (core dumped)"
-msgstr "(吐核)"
+msgstr " (核心已转储)"
 
-#: jobs.c:3564 jobs.c:3577
+#: jobs.c:3737 jobs.c:3750
 #, c-format
 msgid "(wd now: %s)\n"
 msgstr "(当前工作目录:%s)\n"
 
-#: jobs.c:3609
+#: jobs.c:3782
 msgid "initialize_job_control: getpgrp failed"
 msgstr "initialize_job_control: getpgrp 失败"
 
-#: jobs.c:3669
+#: jobs.c:3843
 msgid "initialize_job_control: line discipline"
 msgstr "initialize_job_control: 行规则"
 
-#: jobs.c:3679
+#: jobs.c:3853
 msgid "initialize_job_control: setpgid"
 msgstr "initialize_job_control: setpgid"
 
-#: jobs.c:3707
+#: jobs.c:3874 jobs.c:3883
 #, c-format
 msgid "cannot set terminal process group (%d)"
-msgstr "无法设定终端进程组 (%d)"
+msgstr "无法设定终端进程组(%d)"
 
-#: jobs.c:3712
+#: jobs.c:3888
 msgid "no job control in this shell"
 msgstr "此 shell 中无任务控制"
 
@@ -1179,54 +1230,54 @@ msgstr ""
 msgid "unknown"
 msgstr "未知"
 
-#: lib/malloc/malloc.c:797
+#: lib/malloc/malloc.c:801
 msgid "malloc: block on free list clobbered"
 msgstr "malloc: 空闲链表中的块损坏"
 
-#: lib/malloc/malloc.c:874
+#: lib/malloc/malloc.c:878
 msgid "free: called with already freed block argument"
 msgstr "free: 用已经释放的块作为参数被调用"
 
-#: lib/malloc/malloc.c:877
+#: lib/malloc/malloc.c:881
 msgid "free: called with unallocated block argument"
 msgstr "free: 用未分配的块作为参数被调用"
 
-#: lib/malloc/malloc.c:896
+#: lib/malloc/malloc.c:900
 msgid "free: underflow detected; mh_nbytes out of range"
-msgstr "free: 检测到下溢; mh_nbytes越界"
+msgstr "free: 检测到下溢;mh_nbytes 越界"
 
-#: lib/malloc/malloc.c:902
+#: lib/malloc/malloc.c:906
 msgid "free: start and end chunk sizes differ"
-msgstr "free: 起始和终结块大小不一致"
+msgstr "free: 其实和末尾块大小不一致"
 
-#: lib/malloc/malloc.c:1001
+#: lib/malloc/malloc.c:1005
 msgid "realloc: called with unallocated block argument"
 msgstr "realloc: 用未分配的块作为参数被调用"
 
-#: lib/malloc/malloc.c:1016
+#: lib/malloc/malloc.c:1020
 msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr "realloc: 检测到下溢; mh_nbytes越界"
+msgstr "realloc: 检测到下溢;mh_nbytes 越界"
 
-#: lib/malloc/malloc.c:1022
+#: lib/malloc/malloc.c:1026
 msgid "realloc: start and end chunk sizes differ"
-msgstr "realloc: 起始和终结块大小不一致"
+msgstr "realloc: 其实和末尾块大小不一致"
 
-#: lib/malloc/table.c:177
+#: lib/malloc/table.c:194
 #, c-format
 msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
-msgstr "register_alloc: 分配表已经充满了 FIND_ALLOC?\n"
+msgstr "register_alloc: 分配表已经充满了 FIND_ALLOC\n"
 
-#: lib/malloc/table.c:184
+#: lib/malloc/table.c:203
 #, c-format
 msgid "register_alloc: %p already in table as allocated?\n"
-msgstr "register_alloc: %p 在表中显示为已分配?\n"
+msgstr "register_alloc: %p 在表中显示为已分配\n"
 
-#: lib/malloc/table.c:220
+#: lib/malloc/table.c:256
 #, c-format
 msgid "register_free: %p already in table as free?\n"
-msgstr "register_free: %p 在表中显示为已释放?\n"
+msgstr "register_free: %p 在表中显示为已释放\n"
 
-#: lib/sh/fmtulong.c:101
+#: lib/sh/fmtulong.c:102
 msgid "invalid base"
 msgstr "无效的基"
 
@@ -1243,41 +1294,41 @@ msgstr "%s: 无效的服务"
 #: lib/sh/netopen.c:306
 #, c-format
 msgid "%s: bad network path specification"
-msgstr "%s: 的网络路径声明"
+msgstr "%s: 错误的网络路径声明"
 
 #: lib/sh/netopen.c:346
 msgid "network operations not supported"
 msgstr "不支持网络操作"
 
-#: locale.c:192
+#: locale.c:200
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s)"
 msgstr "setlocale: LC_ALL: 无法改变区域选项 (%s)"
 
-#: locale.c:194
+#: locale.c:202
 #, c-format
 msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
 msgstr "setlocale: LC_ALL: 无法改变区域选项 (%s): %s"
 
-#: locale.c:247
+#: locale.c:259
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s)"
 msgstr "setlocale: %s: 无法改变区域选项 (%s)"
 
-#: locale.c:249
+#: locale.c:261
 #, c-format
 msgid "setlocale: %s: cannot change locale (%s): %s"
 msgstr "setlocale: %s: 无法改变区域选项 (%s): %s"
 
-#: mailcheck.c:433
+#: mailcheck.c:439
 msgid "You have mail in $_"
 msgstr "您在 $_ 中有邮件"
 
-#: mailcheck.c:458
+#: mailcheck.c:464
 msgid "You have new mail in $_"
 msgstr "您在 $_ 中有新邮件"
 
-#: mailcheck.c:474
+#: mailcheck.c:480
 #, c-format
 msgid "The mail in %s has been read\n"
 msgstr "%s 中的邮件已被阅读\n"
@@ -1288,125 +1339,125 @@ msgstr "语法错误: 需要算数表达式"
 
 #: make_cmd.c:325
 msgid "syntax error: `;' unexpected"
-msgstr "语法错误: 期待 `;'"
+msgstr "语法错误: 需要 `;'"
 
 #: make_cmd.c:326
 #, c-format
 msgid "syntax error: `((%s))'"
 msgstr "语法错误: `((%s))'"
 
-#: make_cmd.c:575
+#: make_cmd.c:578
 #, c-format
 msgid "make_here_document: bad instruction type %d"
-msgstr "make_here_document: 的指令类型 %d"
+msgstr "make_here_document: 错误的指令类型 %d"
 
-#: make_cmd.c:659
+#: make_cmd.c:662
 #, c-format
 msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
 msgstr "立即文档在第 %d 行被文件结束符分隔 (需要 `%s')"
 
-#: make_cmd.c:756
+#: make_cmd.c:759
 #, c-format
 msgid "make_redirection: redirection instruction `%d' out of range"
 msgstr "make_redirection: 重定向指令 `%d' 越界"
 
-#: parse.y:3173 parse.y:3444
+#: parse.y:3278 parse.y:3561
 #, c-format
 msgid "unexpected EOF while looking for matching `%c'"
 msgstr "寻找匹配的 `%c' 是遇到了未预期的文件结束符"
 
-#: parse.y:4025
+#: parse.y:4170
 msgid "unexpected EOF while looking for `]]'"
 msgstr "寻找 `]]' 是遇到了未预期的文件结束符"
 
-#: parse.y:4030
+#: parse.y:4175
 #, c-format
 msgid "syntax error in conditional expression: unexpected token `%s'"
 msgstr "条件表达式中有语法错误: 未预期的符号 `%s'"
 
-#: parse.y:4034
+#: parse.y:4179
 msgid "syntax error in conditional expression"
 msgstr "条件表达式中有语法错误"
 
-#: parse.y:4112
+#: parse.y:4257
 #, c-format
 msgid "unexpected token `%s', expected `)'"
-msgstr "未预期的符号 `%s' ,期待 `)'"
+msgstr "未预期的符号 `%s' ,需要 `)'"
 
-#: parse.y:4116
+#: parse.y:4261
 msgid "expected `)'"
-msgstr "期待 `)'"
+msgstr "需要 `)'"
 
-#: parse.y:4144
+#: parse.y:4289
 #, c-format
 msgid "unexpected argument `%s' to conditional unary operator"
 msgstr "一元条件运算符使用了未预期的参数 `%s'"
 
-#: parse.y:4148
+#: parse.y:4293
 msgid "unexpected argument to conditional unary operator"
 msgstr "一元条件运算符使用了未预期的参数"
 
-#: parse.y:4194
+#: parse.y:4339
 #, c-format
 msgid "unexpected token `%s', conditional binary operator expected"
-msgstr "未预期的符号 `%s',期待二元条件运算符"
+msgstr "未预期的符号 `%s',需要二元条件运算符"
 
-#: parse.y:4198
+#: parse.y:4343
 msgid "conditional binary operator expected"
-msgstr "期待二元条件运算符"
+msgstr "需要二元条件运算符"
 
-#: parse.y:4220
+#: parse.y:4365
 #, c-format
 msgid "unexpected argument `%s' to conditional binary operator"
 msgstr "二元条件运算符使用了未预期的参数 `%s'"
 
-#: parse.y:4224
+#: parse.y:4369
 msgid "unexpected argument to conditional binary operator"
 msgstr "二元条件运算符使用了未预期的参数"
 
-#: parse.y:4235
+#: parse.y:4380
 #, c-format
 msgid "unexpected token `%c' in conditional command"
 msgstr "条件命令中有未预期的符号 `%c'"
 
-#: parse.y:4238
+#: parse.y:4383
 #, c-format
 msgid "unexpected token `%s' in conditional command"
 msgstr "条件命令中有未预期的符号 `%s'"
 
-#: parse.y:4242
+#: parse.y:4387
 #, c-format
 msgid "unexpected token %d in conditional command"
 msgstr "条件命令中有未预期的符号 %d"
 
-#: parse.y:5566
+#: parse.y:5737
 #, c-format
 msgid "syntax error near unexpected token `%s'"
 msgstr "未预期的符号 `%s' 附近有语法错误"
 
-#: parse.y:5584
+#: parse.y:5755
 #, c-format
 msgid "syntax error near `%s'"
 msgstr "`%s' 附近有语法错误"
 
-#: parse.y:5594
+#: parse.y:5765
 msgid "syntax error: unexpected end of file"
 msgstr "语法错误: 未预期的文件结尾"
 
-#: parse.y:5594
+#: parse.y:5765
 msgid "syntax error"
 msgstr "语法错误"
 
-#: parse.y:5656
+#: parse.y:5827
 #, c-format
 msgid "Use \"%s\" to leave the shell.\n"
 msgstr "使用 \"%s\" 退出 shell 。\n"
 
-#: parse.y:5818
+#: parse.y:5989
 msgid "unexpected EOF while looking for matching `)'"
 msgstr "寻找匹配的 `)' 时遇到了未预期的文件结束符"
 
-#: pcomplete.c:1030
+#: pcomplete.c:1094
 #, c-format
 msgid "completion: function `%s' not found"
 msgstr "补完: 未找到函数 `%s'"
@@ -1416,90 +1467,90 @@ msgstr "补完: 未找到函数 `%s'"
 msgid "progcomp_insert: %s: NULL COMPSPEC"
 msgstr "progcomp_insert: %s: 空的补完声明"
 
-#: print_cmd.c:296
+#: print_cmd.c:300
 #, c-format
 msgid "print_command: bad connector `%d'"
-msgstr "print_command: 的条件连接符 `%d'"
+msgstr "print_command: 错误的条件连接符 `%d'"
 
-#: print_cmd.c:368
+#: print_cmd.c:373
 #, c-format
 msgid "xtrace_set: %d: invalid file descriptor"
 msgstr "xtrace_set: %d: 无效的文件描述符"
 
-#: print_cmd.c:373
+#: print_cmd.c:378
 msgid "xtrace_set: NULL file pointer"
 msgstr "xtrace_set: 空的文件指针"
 
-#: print_cmd.c:377
+#: print_cmd.c:382
 #, c-format
 msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
 msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
 
-#: print_cmd.c:1478
+#: print_cmd.c:1518
 #, c-format
 msgid "cprintf: `%c': invalid format character"
 msgstr "cprintf: `%c': 无效的格式字符"
 
-#: redir.c:122
+#: redir.c:123 redir.c:170
 msgid "file descriptor out of range"
 msgstr "文件描述符超出范围"
 
-#: redir.c:178
+#: redir.c:177
 #, c-format
 msgid "%s: ambiguous redirect"
 msgstr "%s: 模糊的重定向"
 
-#: redir.c:182
+#: redir.c:181
 #, c-format
 msgid "%s: cannot overwrite existing file"
 msgstr "%s: 无法覆盖已存在的文件"
 
-#: redir.c:187
+#: redir.c:186
 #, c-format
 msgid "%s: restricted: cannot redirect output"
 msgstr "%s: 受限的: 无法重定向输出"
 
-#: redir.c:192
+#: redir.c:191
 #, c-format
 msgid "cannot create temp file for here-document: %s"
 msgstr "无法为立即文档创建临时文件: %s"
 
-#: redir.c:196
+#: redir.c:195
 #, c-format
 msgid "%s: cannot assign fd to variable"
 msgstr "%s: 无法将文件描述符赋值给变量"
 
-#: redir.c:548
+#: redir.c:582
 msgid "/dev/(tcp|udp)/host/port not supported without networking"
 msgstr "没有网络时不支持 /dev/(tcp|udp)/host/port"
 
-#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
+#: redir.c:861 redir.c:973 redir.c:1034 redir.c:1199
 msgid "redirection error: cannot duplicate fd"
 msgstr "重定向错误: 无法复制文件描述符"
 
-#: shell.c:333
+#: shell.c:339
 msgid "could not find /tmp, please create!"
 msgstr "无法找到 /tmp ,请创建"
 
-#: shell.c:337
+#: shell.c:343
 msgid "/tmp must be a valid directory name"
 msgstr "/tmp 必须为有效的目录名"
 
-#: shell.c:884
+#: shell.c:890
 #, c-format
 msgid "%c%c: invalid option"
 msgstr "%c%c: 无效的选项"
 
-#: shell.c:1652
+#: shell.c:1682
 msgid "I have no name!"
 msgstr "没有名字!"
 
-#: shell.c:1795
+#: shell.c:1827
 #, c-format
 msgid "GNU bash, version %s-(%s)\n"
 msgstr "GNU bash,版本 %s-(%s)\n"
 
-#: shell.c:1796
+#: shell.c:1828
 #, c-format
 msgid ""
 "Usage:\t%s [GNU long option] [option] ...\n"
@@ -1508,39 +1559,40 @@ msgstr ""
 "用法:\t%s [GNU 长选项] [选项] ...\n"
 "\t%s [GNU 长选项] [选项] 脚本文件 ...\n"
 
-#: shell.c:1798
+#: shell.c:1830
 msgid "GNU long options:\n"
 msgstr "GNU 常选项:\n"
 
-#: shell.c:1802
+#: shell.c:1834
 msgid "Shell options:\n"
 msgstr "Shell 选项:\n"
 
-#: shell.c:1803
-msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
+#: shell.c:1835
+#, fuzzy
+msgid "\t-ilrsD or -c command or -O shopt_option\t\t(invocation only)\n"
 msgstr "\t-irsD 或 -c 命令 或 -O shopt选项\t\t(仅适合调用)\n"
 
-#: shell.c:1818
+#: shell.c:1850
 #, c-format
 msgid "\t-%s or -o option\n"
 msgstr "\t-%s 或 -o 选项\n"
 
-#: shell.c:1824
+#: shell.c:1856
 #, c-format
 msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
 msgstr "请输入`%s -c \"help set\"' 以获得关于 shell 选项的更多信息\n"
 
-#: shell.c:1825
+#: shell.c:1857
 #, c-format
 msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr "请è¾\93å\85¥ `%s -c help' ä»¥è\8e·å¾\97å\85³äº\8e shell å\86\85åµ\8c命令的更多信息.\n"
+msgstr "请è¾\93å\85¥ `%s -c help' ä»¥è\8e·å¾\97å\85³äº\8e shell å\86\85建命令的更多信息.\n"
 
-#: shell.c:1826
+#: shell.c:1858
 #, c-format
 msgid "Use the `bashbug' command to report bugs.\n"
 msgstr "请使用`bashbug' 命令来报告错误.\n"
 
-#: sig.c:638
+#: sig.c:691
 #, c-format
 msgid "sigprocmask: %d: invalid operation"
 msgstr "sigprocmask: %d: 无效的操作"
@@ -1595,11 +1647,11 @@ msgstr "段错误"
 
 #: siglist.c:99
 msgid "Bad system call"
-msgstr "的系统调用"
+msgstr "错误的系统调用"
 
 #: siglist.c:103
 msgid "Broken pipe"
-msgstr "ç ´è£\82ç\9a\84管é\81\93"
+msgstr "管é\81\93ç ´è£\82"
 
 #: siglist.c:107
 msgid "Alarm clock"
@@ -1611,7 +1663,7 @@ msgstr "已终止"
 
 #: siglist.c:115
 msgid "Urgent IO condition"
-msgstr "紧急输入输出情形"
+msgstr "紧急 I/O 状况"
 
 #: siglist.c:119
 msgid "Stopped (signal)"
@@ -1627,15 +1679,15 @@ msgstr "子进程已死或者停止"
 
 #: siglist.c:139
 msgid "Stopped (tty input)"
-msgstr "已停止 (tty 输入)"
+msgstr "已停止(tty 输入)"
 
 #: siglist.c:143
 msgid "Stopped (tty output)"
-msgstr "已停止 (tty 输出)"
+msgstr "已停止(tty 输出)"
 
 #: siglist.c:147
 msgid "I/O ready"
-msgstr "输入输出准备完毕"
+msgstr "I/O 就绪"
 
 #: siglist.c:151
 msgid "CPU limit"
@@ -1650,12 +1702,13 @@ msgid "Alarm (virtual)"
 msgstr "报警(虚拟)"
 
 #: siglist.c:163
+#, fuzzy
 msgid "Alarm (profile)"
 msgstr "报警(总结)"
 
 #: siglist.c:167
 msgid "Window changed"
-msgstr "窗口改变"
+msgstr "窗口改变"
 
 #: siglist.c:171
 msgid "Record lock"
@@ -1663,15 +1716,15 @@ msgstr "记录锁"
 
 #: siglist.c:175
 msgid "User signal 1"
-msgstr "用户定义信号1"
+msgstr "用户信号1"
 
 #: siglist.c:179
 msgid "User signal 2"
-msgstr "用户定义信号2"
+msgstr "用户信号2"
 
 #: siglist.c:183
 msgid "HFT input data pending"
-msgstr "HFT输入数据挂起"
+msgstr "HFT 待输入数据"
 
 #: siglist.c:187
 msgid "power failure imminent"
@@ -1683,27 +1736,27 @@ msgstr "系统即将崩溃"
 
 #: siglist.c:195
 msgid "migrate process to another CPU"
-msgstr "迁移进程至另一个CPU"
+msgstr "迁移进程至另一个 CPU"
 
 #: siglist.c:199
 msgid "programming error"
-msgstr "ç¨\8båº\8f错误"
+msgstr "ç¼\96ç¨\8b错误"
 
 #: siglist.c:203
 msgid "HFT monitor mode granted"
-msgstr "HFT显示器模式授与"
+msgstr "已授予 HFT 监视模式"
 
 #: siglist.c:207
 msgid "HFT monitor mode retracted"
-msgstr "HFT显示器模式撤销"
+msgstr "已撤销 HFT 监视模式"
 
 #: siglist.c:211
 msgid "HFT sound sequence has completed"
-msgstr "HFT声音序列已完成"
+msgstr "已完成 HFT 声音序列"
 
 #: siglist.c:215
 msgid "Information request"
-msgstr "状态请求"
+msgstr "信息请求"
 
 #: siglist.c:223
 msgid "Unknown Signal #"
@@ -1714,240 +1767,251 @@ msgstr "未知信号 #"
 msgid "Unknown Signal #%d"
 msgstr "未知信号 #%d"
 
-#: subst.c:1333 subst.c:1502
+#: subst.c:1362 subst.c:1520
 #, c-format
 msgid "bad substitution: no closing `%s' in %s"
-msgstr "坏的替换:在 %2$s 中没有闭合的 `%1$s'"
+msgstr "错误的替换: 在 %2$s 中没有闭合的 `%1$s'"
 
-#: subst.c:2795
+#: subst.c:2847
 #, c-format
 msgid "%s: cannot assign list to array member"
 msgstr "%s: 无法将链表赋值给数组成员"
 
-#: subst.c:4979 subst.c:4995
+#: subst.c:5065 subst.c:5081
 msgid "cannot make pipe for process substitution"
 msgstr "无法为进程替换创建管道"
 
-#: subst.c:5027
+#: subst.c:5113
 msgid "cannot make child for process substitution"
 msgstr "无法为进程替换创建子进程"
 
-#: subst.c:5072
+#: subst.c:5158
 #, c-format
 msgid "cannot open named pipe %s for reading"
 msgstr "无法打开命名管道 %s 进行读取"
 
-#: subst.c:5074
+#: subst.c:5160
 #, c-format
 msgid "cannot open named pipe %s for writing"
 msgstr "无法打开命名管道 %s 进行写入"
 
-#: subst.c:5092
+#: subst.c:5178
 #, c-format
 msgid "cannot duplicate named pipe %s as fd %d"
 msgstr "无法将命名管道 %s 作为文件描述符 %d 复制"
 
-#: subst.c:5284
+#: subst.c:5376
 msgid "cannot make pipe for command substitution"
 msgstr "无法为命令替换创建管道"
 
-#: subst.c:5322
+#: subst.c:5414
 msgid "cannot make child for command substitution"
 msgstr "无法为命令替换创建子进程"
 
-#: subst.c:5339
+#: subst.c:5433
 msgid "command_substitute: cannot duplicate pipe as fd 1"
 msgstr "command_substitute: 无法将管道复制为文件描述符1"
 
-#: subst.c:5859
+#: subst.c:5837 subst.c:8050
+#, fuzzy, c-format
+msgid "%s: invalid variable name for name reference"
+msgstr "%s: %s: 追踪文件描述符的值无效"
+
+#: subst.c:6048
 #, c-format
 msgid "%s: parameter null or not set"
 msgstr "%s: 参数为空或未设置"
 
-#: subst.c:6125 subst.c:6140
+#: subst.c:6320 subst.c:6335
 #, c-format
 msgid "%s: substring expression < 0"
 msgstr "%s: 子串表达式 < 0"
 
-#: subst.c:7271
+#: subst.c:7506
 #, c-format
 msgid "%s: bad substitution"
-msgstr "%s: 的替换"
+msgstr "%s: 错误的替换"
 
-#: subst.c:7347
+#: subst.c:7583
 #, c-format
 msgid "$%s: cannot assign in this way"
 msgstr "$%s: 无法这样赋值"
 
-#: subst.c:7684
+#: subst.c:7917
 msgid ""
 "future versions of the shell will force evaluation as an arithmetic "
 "substitution"
 msgstr "未来版本的 shell 会强制估值为算数替换"
 
-#: subst.c:8149
+#: subst.c:8421
 #, c-format
 msgid "bad substitution: no closing \"`\" in %s"
-msgstr "坏的替换:在 %s 中没有闭合的 \"`\""
+msgstr "错误的替换: 在 %s 中没有闭合的 \"`\""
 
-#: subst.c:9036
+#: subst.c:9322
 #, c-format
 msgid "no match: %s"
-msgstr "没æ\9c\89匹配: %s"
+msgstr "æ\97 匹配: %s"
 
-#: test.c:146
+#: test.c:147
 msgid "argument expected"
-msgstr "期待参数"
+msgstr "需要参数"
 
-#: test.c:155
+#: test.c:156
 #, c-format
 msgid "%s: integer expression expected"
-msgstr "%s: 期待整数表达式"
+msgstr "%s: 需要整数表达式"
 
-#: test.c:263
+#: test.c:264
 msgid "`)' expected"
-msgstr "期待 `)'"
+msgstr "需要 `)'"
 
-#: test.c:265
+#: test.c:266
 #, c-format
 msgid "`)' expected, found %s"
-msgstr "期待`)' , 得到 %s"
+msgstr "需要`)',得到 %s"
 
-#: test.c:280 test.c:698 test.c:701
+#: test.c:281 test.c:742 test.c:745
 #, c-format
 msgid "%s: unary operator expected"
-msgstr "%s: 期待一元表达式"
+msgstr "%s: 需要一元表达式"
 
-#: test.c:449 test.c:741
+#: test.c:468 test.c:785
 #, c-format
 msgid "%s: binary operator expected"
-msgstr "%s: 期待二元表达式"
+msgstr "%s: 需要二元表达式"
 
-#: test.c:816
+#: test.c:860
 msgid "missing `]'"
 msgstr "缺少 `]'"
 
-#: trap.c:207
+#: trap.c:217
 msgid "invalid signal number"
-msgstr "无效的信号编号"
+msgstr "无效的信号"
 
-#: trap.c:337
+#: trap.c:371
 #, c-format
 msgid "run_pending_traps: bad value in trap_list[%d]: %p"
-msgstr "run_pending_traps: trap_list[%d] 中的值: %p"
+msgstr "run_pending_traps: trap_list[%d] 中的错误值: %p"
 
-#: trap.c:341
+#: trap.c:375
 #, c-format
 msgid ""
 "run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr "run_pending_traps: 信号处理器是 SIG_DFL, 重新发送 %d (%s) 给自己"
+msgstr "run_pending_traps: 信号处理器是 SIG_DFL,重新发送 %d (%s) 给自己"
 
-#: trap.c:393
+#: trap.c:428
 #, c-format
 msgid "trap_handler: bad signal %d"
-msgstr "trap_handler: 的信号 %d"
+msgstr "trap_handler: 错误的信号 %d"
 
-#: variables.c:363
+#: variables.c:382
 #, c-format
 msgid "error importing function definition for `%s'"
 msgstr "`%s' 函数定义导入错误"
 
-#: variables.c:755
+#: variables.c:780
 #, c-format
 msgid "shell level (%d) too high, resetting to 1"
-msgstr "shell 层次 (%d) 太高, 重置为 1"
+msgstr "shell 层次 (%d) 太高,重置为 1"
 
-#: variables.c:1932
+#: variables.c:1865
+#, fuzzy, c-format
+msgid "%s: circular name reference"
+msgstr "%s: %s: 追踪文件描述符的值无效"
+
+#: variables.c:2228
 msgid "make_local_variable: no function context at current scope"
 msgstr "make_local_variable: 当前作用域中没有函数上下文"
 
-#: variables.c:3182
+#: variables.c:2247
+#, fuzzy, c-format
+msgid "%s: variable may not be assigned value"
+msgstr "%s: 无法将文件描述符赋值给变量"
+
+#: variables.c:3646
 msgid "all_local_variables: no function context at current scope"
 msgstr "all_local_variables: 当前作用域中没有函数上下文"
 
-#: variables.c:3427
+#: variables.c:3891
 #, c-format
 msgid "%s has null exportstr"
 msgstr "%s 有空的 exportstr"
 
-#: variables.c:3432 variables.c:3441
+#: variables.c:3896 variables.c:3905
 #, c-format
 msgid "invalid character %d in exportstr for %s"
 msgstr "%2$s 的 exportstr 中有无效的字符 %1$d"
 
-#: variables.c:3447
+#: variables.c:3911
 #, c-format
 msgid "no `=' in exportstr for %s"
 msgstr "%s 的 exportstr 中没有 `='"
 
-#: variables.c:3891
+#: variables.c:4344
 msgid "pop_var_context: head of shell_variables not a function context"
 msgstr "pop_var_context: shell_variables 的头部不是函数上下文"
 
-#: variables.c:3904
+#: variables.c:4357
 msgid "pop_var_context: no global_variables context"
 msgstr "pop_var_context: 没有 global_variables 上下文"
 
-#: variables.c:3978
+#: variables.c:4431
 msgid "pop_scope: head of shell_variables not a temporary environment scope"
 msgstr "pop_scope: shell_variables 的头部不是临时环境作用域"
 
-#: variables.c:4786
+#: variables.c:5257
 #, c-format
 msgid "%s: %s: cannot open as FILE"
 msgstr "%s: %s: 无法作为文件打开"
 
-#: variables.c:4791
+#: variables.c:5262
 #, c-format
 msgid "%s: %s: invalid value for trace file descriptor"
 msgstr "%s: %s: 追踪文件描述符的值无效"
 
+#: variables.c:5307
+#, fuzzy, c-format
+msgid "%s: %s: compatibility value out of range"
+msgstr "%s: %s 越界"
+
 #: version.c:46
 #, fuzzy
-msgid "Copyright (C) 2011 Free Software Foundation, Inc."
-msgstr "自由软件基金会 版权所有 2009"
+msgid "Copyright (C) 2013 Free Software Foundation, Inc."
+msgstr "版权所有 (C) 2011 自由软件基金会"
 
-#: version.c:47
+#: version.c:47 version2.c:47
 msgid ""
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
 "html>\n"
 msgstr ""
-"许å\8f¯è¯\81 GPLv3+: GNU GPL è®¸å\8f¯è¯\81ç\89\88æ\9c¬3æ\88\96è\80\85æ\9b´é«\98 <http://gnu.org/licenses/gpl."
+"许å\8f¯è¯\81 GPLv3+: GNU GPL è®¸å\8f¯è¯\81第ä¸\89ç\89\88æ\88\96è\80\85æ\9b´æ\96°ç\89\88æ\9c¬ <http://gnu.org/licenses/gpl."
 "html>\n"
 
-#: version.c:86 version2.c:83
+#: version.c:86 version2.c:86
 #, c-format
 msgid "GNU bash, version %s (%s)\n"
-msgstr "GNU bash, 版本 %s (%s)\n"
+msgstr "GNU bash,版本 %s (%s)\n"
 
-#: version.c:91 version2.c:88
-#, c-format
-msgid "This is free software; you are free to change and redistribute it.\n"
-msgstr "这是自由软件,您可以自由地更改和重新发布。\n"
-
-#: version.c:92 version2.c:89
-#, c-format
-msgid "There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr "在法律允许的范围内没有担保.\n"
+#: version.c:91 version2.c:91
+#, fuzzy
+msgid "This is free software; you are free to change and redistribute it."
+msgstr "本软件是自由软件,您可以自由地更改和重新发布。\n"
 
-#: version2.c:86
-#, c-format
-msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr "自由软件基金会 版权所有 2009\n"
+#: version.c:92 version2.c:92
+#, fuzzy
+msgid "There is NO WARRANTY, to the extent permitted by law."
+msgstr "在法律许可的情况下特此明示,本软件不提供任何担保。\n"
 
-#: version2.c:87
-#, c-format
-msgid ""
-"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
-"html>\n"
-msgstr ""
-"许可证 GPLv2+: GNU GPL 许可证版本2或者更高 <http://gnu.org/licenses/gpl."
-"html>\n"
+#: version2.c:46
+#, fuzzy
+msgid "Copyright (C) 2012 Free Software Foundation, Inc."
+msgstr "版权所有 (C) 2011 自由软件基金会"
 
 #: xmalloc.c:91
 #, c-format
 msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "%s: 无法分配 %lu 字节 (%lu 字节已分配)"
+msgstr "%s: 无法分配 %lu 字节(已分配 %lu 字节)"
 
 #: xmalloc.c:93
 #, c-format
@@ -1957,7 +2021,7 @@ msgstr "%s: 无法分配 %lu 字节"
 #: xmalloc.c:163
 #, c-format
 msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "%s: %s:%d: 无法分配 %lu 字节 (%lu 字节已分配)"
+msgstr "%s: %s:%d: 无法分配 %lu 字节(已分配 %lu 字节)"
 
 #: xmalloc.c:165
 #, c-format
@@ -1973,8 +2037,9 @@ msgid "unalias [-a] name [name ...]"
 msgstr "unalias [-a] 名称 [名称 ...]"
 
 #: builtins.c:51
+#, fuzzy
 msgid ""
-"bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
+"bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
 "x keyseq:shell-command] [keyseq:readline-function or readline-command]"
 msgstr ""
 "bind [-lpvsPVS] [-m 键映射] [-f 文件名] [-q 名称] [-u 名称] [-r 键序列] [-x "
@@ -1990,7 +2055,7 @@ msgstr "continue [n]"
 
 #: builtins.c:58
 msgid "builtin [shell-builtin [arg ...]]"
-msgstr "builtin [shell å\86\85åµ\8c [参数 ...]]"
+msgstr "builtin [shell å\86\85建 [参数 ...]]"
 
 #: builtins.c:61
 msgid "caller [expr]"
@@ -1998,8 +2063,8 @@ msgstr "caller [表达式]"
 
 #: builtins.c:64
 #, fuzzy
-msgid "cd [-L|[-P [-e]]] [dir]"
-msgstr "cd [-L|-P] [目录]"
+msgid "cd [-L|[-P [-e]] [-@]] [dir]"
+msgstr "cd [-L|[-P [-e]]] [目录]"
 
 #: builtins.c:66
 msgid "pwd [-LP]"
@@ -2011,11 +2076,11 @@ msgstr ":"
 
 #: builtins.c:70
 msgid "true"
-msgstr ""
+msgstr "true"
 
 #: builtins.c:72
 msgid "false"
-msgstr ""
+msgstr "false"
 
 #: builtins.c:74
 msgid "command [-pVv] command [arg ...]"
@@ -2023,13 +2088,12 @@ msgstr "command [-pVv] 命令 [参数 ...]"
 
 #: builtins.c:76
 #, fuzzy
-msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFilrtux] [-p] [名称[=值] ...]"
+msgid "declare [-aAfFgilnrtux] [-p] [name[=value] ...]"
+msgstr "declare [-aAfFgilrtux] [-p] [名称[=值] ...]"
 
 #: builtins.c:78
-#, fuzzy
 msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFilrtux] [-p] 名称[=值] ..."
+msgstr "typeset [-aAfFgilrtux] [-p] 名称[=值] ..."
 
 #: builtins.c:80
 msgid "local [option] name[=value] ..."
@@ -2128,12 +2192,12 @@ msgid "return [n]"
 msgstr "return [n]"
 
 #: builtins.c:140
-#, fuzzy
 msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
-msgstr "set [--abefhkmnptuvxBCHP] [-o 选项名] [参数 ...]"
+msgstr "set [--abefhkmnptuvxBCHP] [-o 选项名] [--] [参数 ...]"
 
 #: builtins.c:142
-msgid "unset [-f] [-v] [name ...]"
+#, fuzzy
+msgid "unset [-f] [-v] [-n] [name ...]"
 msgstr "unset [-f] [-v] [名称 ...]"
 
 #: builtins.c:144
@@ -2141,9 +2205,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
 msgstr "export [-fn] [名称[=值] ...] 或 export -p"
 
 #: builtins.c:146
-#, fuzzy
 msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
-msgstr "readonly [-af] [名称[=值] ...] 或 readonly -p"
+msgstr "readonly [-aAf] [名称[=值] ...] 或 readonly -p"
 
 #: builtins.c:148
 msgid "shift [n]"
@@ -2182,7 +2245,8 @@ msgid "type [-afptP] name [name ...]"
 msgstr "type [-afptP] 名称 [名称 ...]"
 
 #: builtins.c:169
-msgid "ulimit [-SHacdefilmnpqrstuvx] [limit]"
+#, fuzzy
+msgid "ulimit [-SHabcdefilmnpqrstuvxT] [limit]"
 msgstr "ulimit [-SHacdefilmnpqrstuvx] [限制]"
 
 #: builtins.c:172
@@ -2190,11 +2254,13 @@ msgid "umask [-p] [-S] [mode]"
 msgstr "umask [-p] [-S] [模式]"
 
 #: builtins.c:175
-msgid "wait [id]"
+#, fuzzy
+msgid "wait [-n] [id ...]"
 msgstr "wait [编号]"
 
 #: builtins.c:179
-msgid "wait [pid]"
+#, fuzzy
+msgid "wait [pid ...]"
 msgstr "wait [进程号]"
 
 #: builtins.c:182
@@ -2337,7 +2403,7 @@ msgid ""
 msgstr ""
 "定义或显示别名。\n"
 "    \n"
-"    不带参数时, `alias' 以可重用的格式\n"
+"    不带参数时,`alias' 以可重用的格式\n"
 "    `alias 名称=值'在标准输出设备上打印别名列表。\n"
 "    \n"
 "    否则,对于每个给定值的名称定义一个别名。\n"
@@ -2360,14 +2426,15 @@ msgid ""
 "    \n"
 "    Return success unless a NAME is not an existing alias."
 msgstr ""
-"ä»\8eå\88«å\90\8då®\9aä¹\89å\88\97表中å\88 é\99¤æ¯\8fä¸\80个â\80\9cå\90\8då­\97â\80\98。\n"
+"ä»\8eå\88«å\90\8då®\9aä¹\89å\88\97表中å\88 é\99¤æ¯\8fä¸\80个â\80\9cå\90\8då­\97â\80\9d。\n"
 "    \n"
 "    选项:\n"
-"      -a\t删除所有的别名定义.\n"
+"      -a\t删除所有的别名定义\n"
 "    \n"
 "    返回成功,除非“名字“不是一个已存在的别名。"
 
 #: builtins.c:289
+#, fuzzy
 msgid ""
 "Set Readline key bindings and variables.\n"
 "    \n"
@@ -2401,6 +2468,8 @@ msgid ""
 "      -f  filename       Read key bindings from FILENAME.\n"
 "      -x  keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
 "    \t\t\t\tKEYSEQ is entered.\n"
+"      -X\t\t     List key sequences bound with -x and associated commands\n"
+"                         in a form that can be reused as input.\n"
 "    \n"
 "    Exit Status:\n"
 "    bind returns 0 unless an unrecognized option is given or an error occurs."
@@ -2437,7 +2506,7 @@ msgstr ""
 "    退出状态:\n"
 "    除非使用了无法辨认的选项或者错误发生,否则返回0."
 
-#: builtins.c:326
+#: builtins.c:328
 msgid ""
 "Exit for, while, or until loops.\n"
 "    \n"
@@ -2449,13 +2518,13 @@ msgid ""
 msgstr ""
 "退出 for、while、或 until 循环\n"
 "    \n"
-"    退出一个 FOR、WHILE 或 UNTIL 循环。如果指定了N,则打破N重\n"
+"    退出一个 FOR、WHILE 或 UNTIL 循环。如果指定了N,则跳出N重\n"
 "    循环\n"
 "    \n"
 "    退出状态:\n"
 "    退出状态为0除非 N 不大于或等于 1。"
 
-#: builtins.c:338
+#: builtins.c:340
 msgid ""
 "Resume for, while, or until loops.\n"
 "    \n"
@@ -2473,7 +2542,7 @@ msgstr ""
 "    退出状态:\n"
 "    退出状态为 0 除非 N 不大于或等于1。"
 
-#: builtins.c:350
+#: builtins.c:352
 msgid ""
 "Execute shell builtins.\n"
 "    \n"
@@ -2486,18 +2555,18 @@ msgid ""
 "    Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
 "    not a shell builtin.."
 msgstr ""
-"æ\89§è¡\8c shell å\86\85åµ\8c。\n"
+"æ\89§è¡\8c shell å\86\85建。\n"
 "    \n"
-"    å¸¦å\8f\82æ\95° ARGs æ\89§è¡\8c SHELL-BUILTIN å\86\85åµ\8c,并且不做命令查询\n"
-"    å\9c¨å¸\8cæ\9c\9b以 shell å\87½æ\95°ç\9a\84å½¢å¼\8fæ\9d¥é\87\8dæ\96°å®\9eç\8e° shell å\86\85åµ\8c,\n"
-"    å¹¶ä¸\94å¸\8cæ\9c\9bå\9c¨å\87½æ\95°ä¹\8bå\86\85æ\89§è¡\8c该 shell å\86\85åµ\8c的情况下有用处。\n"
+"    å¸¦å\8f\82æ\95° ARGs æ\89§è¡\8c SHELL-BUILTIN å\86\85建,并且不做命令查询\n"
+"    å\9c¨å¸\8cæ\9c\9b以 shell å\87½æ\95°ç\9a\84å½¢å¼\8fæ\9d¥é\87\8dæ\96°å®\9eç\8e° shell å\86\85建,\n"
+"    å¹¶ä¸\94å¸\8cæ\9c\9bå\9c¨å\87½æ\95°ä¹\8bå\86\85æ\89§è¡\8c该 shell å\86\85建的情况下有用处。\n"
 "    \n"
 "    退出状态:\n"
-"    ä»¥ SHELL-BUILTIN å\86\85åµ\8c的退出状态为准,或者如果 SHELL-BUILTIN不是一个 "
-"shell å\86\85åµ\8c时\n"
+"    ä»¥ SHELL-BUILTIN å\86\85建的退出状态为准,或者如果 SHELL-BUILTIN不是一个 "
+"shell å\86\85建时\n"
 "    为假。."
 
-#: builtins.c:365
+#: builtins.c:367
 msgid ""
 "Return the context of the current subroutine call.\n"
 "    \n"
@@ -2525,7 +2594,7 @@ msgstr ""
 "    除非 shell 不在执行一个 shell 函数或者 EXPR 无效,否则返回结\n"
 "    果为0。"
 
-#: builtins.c:383
+#: builtins.c:385
 #, fuzzy
 msgid ""
 "Change the shell working directory.\n"
@@ -2549,13 +2618,21 @@ msgid ""
 "    its value is used for DIR.\n"
 "    \n"
 "    Options:\n"
-"        -L\tforce symbolic links to be followed\n"
+"        -L\tforce symbolic links to be followed: resolve symbolic links in\n"
+"    \tDIR after processing instances of `..'\n"
 "        -P\tuse the physical directory structure without following symbolic\n"
-"    \tlinks\n"
+"    \tlinks: resolve symbolic links in DIR before processing instances\n"
+"    \tof `..'\n"
 "        -e\tif the -P option is supplied, and the current working directory\n"
 "    \tcannot be determined successfully, exit with a non-zero status\n"
+"        -@  on systems that support it, present a file with extended "
+"attributes\n"
+"            as a directory containing the file attributes\n"
 "    \n"
 "    The default is to follow symbolic links, as if `-L' were specified.\n"
+"    `..' is processed by removing the immediately previous pathname "
+"component\n"
+"    back to a slash or the beginning of DIR.\n"
 "    \n"
 "    Exit Status:\n"
 "    Returns 0 if the directory is changed, and if $PWD is set successfully "
@@ -2570,7 +2647,7 @@ msgstr ""
 "    变量 CDPATH 定义了含有 DIR 的目录的搜索路径。\n"
 "    CDPATH 变量中不同的目录名称由分号(:)分隔。\n"
 "    一个空的目录名称和当前目录是一样的。如果 DIR 变量由\n"
-"    斜杠 (/) 打头,则 CDPATH 变量不会被使用。\n"
+"    斜杠(/) 打头,则 CDPATH 变量不会被使用。\n"
 "    \n"
 "    如果路径找不到,并且 shell 选项`cdable_vars' 被设定,\n"
 "    则参数词被假定为一个变量名。如果该变量有值,则它的值\n"
@@ -2579,14 +2656,15 @@ msgstr ""
 "    选项:\n"
 "        -L\t强制跟随符号链接。\n"
 "        -P\t使用物理目录结构而不跟随符号链接\n"
-"    \n"
+"        -e\t如果使用了 -P 参数,但不能成功确定当前工作目录时,\n"
+"          \t返回非零的返回值。    \n"
 "    \n"
 "    默认情况下跟随符号链接,如同指定 `-L'。\n"
 "    \n"
 "    退出状态:\n"
-"    如果目录改变返回0,否则非零。"
+"    如果目录改变,或在使用 -P 选项时 $PWD 修改成功时返回0,否则非零。"
 
-#: builtins.c:414
+#: builtins.c:422
 msgid ""
 "Print the name of the current working directory.\n"
 "    \n"
@@ -2614,7 +2692,7 @@ msgstr ""
 "    除非使用了无效选项或者当前目录不可读,否则\n"
 "    返回状态为0。"
 
-#: builtins.c:431
+#: builtins.c:439
 msgid ""
 "Null command.\n"
 "    \n"
@@ -2630,7 +2708,7 @@ msgstr ""
 "    退出状态:\n"
 "    总是成功。"
 
-#: builtins.c:442
+#: builtins.c:450
 msgid ""
 "Return a successful result.\n"
 "    \n"
@@ -2642,7 +2720,7 @@ msgstr ""
 "    退出状态:\n"
 "    总是成功"
 
-#: builtins.c:451
+#: builtins.c:459
 msgid ""
 "Return an unsuccessful result.\n"
 "    \n"
@@ -2654,7 +2732,7 @@ msgstr ""
 "    退出状态:\n"
 "    总是失败。"
 
-#: builtins.c:460
+#: builtins.c:468
 msgid ""
 "Execute a simple command or display information about commands.\n"
 "    \n"
@@ -2681,13 +2759,13 @@ msgstr ""
 "    选项:\n"
 "      -p\t使用 PATH 变量的一个默认值以确保所有的标准工具\n"
 "    \t都能被找到。\n"
-"      -v\tæ\89\93å\8d° COMMAND å\91½ä»¤ç\9a\84æ\8f\8fè¿°ï¼\8cå\92\8c `type' å\86\85åµ\8c相似\n"
+"      -v\tæ\89\93å\8d° COMMAND å\91½ä»¤ç\9a\84æ\8f\8fè¿°ï¼\8cå\92\8c `type' å\86\85建相似\n"
 "      -V\t打印每个 COMMAND 命令的详细描述\n"
 "    \n"
 "    退出状态\n"
 "    返回 COMMAND 命令的返回状态,或者当找不到 COMMAND 命令时失败。"
 
-#: builtins.c:479
+#: builtins.c:487
 #, fuzzy
 msgid ""
 "Set variable values and attributes.\n"
@@ -2708,6 +2786,7 @@ msgid ""
 "      -A\tto make NAMEs associative arrays (if supported)\n"
 "      -i\tto make NAMEs have the `integer' attribute\n"
 "      -l\tto convert NAMEs to lower case on assignment\n"
+"      -n\tmake NAME a reference to the variable named by its value\n"
 "      -r\tto make NAMEs readonly\n"
 "      -t\tto make NAMEs have the `trace' attribute\n"
 "      -u\tto convert NAMEs to upper case on assignment\n"
@@ -2723,7 +2802,8 @@ msgid ""
 "    command.  The `-g' option suppresses this behavior.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless an invalid option is supplied or an error occurs."
+"    Returns success unless an invalid option is supplied or a variable\n"
+"    assignment error occurs."
 msgstr ""
 "设定变量值和属性。\n"
 "    \n"
@@ -2732,24 +2812,24 @@ msgstr ""
 "    \n"
 "    选项:\n"
 "      -f\t限制动作或显示函数名称和定义\n"
-"      -F\t限制仅显示函数名称以及行号和调试时\n"
-"    \t源文件名\n"
+"      -F\t限制仅显示函数名称(以及行号和调试时\n"
+"    \t源文件名)\n"
 "      -p\t显示每个 NAME 变量的属性和值\n"
 "    \n"
 "    设定属性的选项:\n"
-"      -a\t使 NAME 成为下标数组(如果支持)\n"
-"      -A\t使 NAME 成为关联数组 (如果支持)\n"
-"      -i\t使 NAME 带有 `integer' (整数)属性\n"
+"      -a\t使 NAME 成为下标数组(如果支持)\n"
+"      -A\t使 NAME 成为关联数组 (如果支持)\n"
+"      -i\t使 NAME 带有 `integer' (整数)属性\n"
 "      -l\t将 NAME 在赋值时转为小写\n"
 "      -r\t将 NAME 变为只读\n"
-"      -t\t使 NAME 带有 `trace' (追踪)属性\n"
+"      -t\t使 NAME 带有 `trace' (追踪)属性\n"
 "      -u\t将 NAME 在赋值时转为大写\n"
 "      -x\t将 NAME 导出\n"
 "    \n"
 "    用 `+' 代替 `-' 会关闭指定选项。\n"
 "    \n"
-"    带有整数属性的变量在赋值时将使用算术估值见\n"
-"    `let' 命令\n"
+"    带有整数属性的变量在赋值时将使用算术估值(见\n"
+"    `let' 命令)\n"
 "    \n"
 "    在函数中使用时,`declare' 使 NAME 成为本地变量,和 `local'\n"
 "    命令一致。\n"
@@ -2757,7 +2837,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功除非使用了无效选项或者发生错误。"
 
-#: builtins.c:517
+#: builtins.c:527
 msgid ""
 "Set variable values and attributes.\n"
 "    \n"
@@ -2767,7 +2847,8 @@ msgstr ""
 "    \n"
 "    废弃。参见 `help declare'。"
 
-#: builtins.c:525
+#: builtins.c:535
+#, fuzzy
 msgid ""
 "Define local variables.\n"
 "    \n"
@@ -2778,8 +2859,8 @@ msgid ""
 "    only to the function where they are defined and its children.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns success unless an invalid option is supplied, an error occurs,\n"
-"    or the shell is not executing a function."
+"    Returns success unless an invalid option is supplied, a variable\n"
+"    assignment error occurs, or the shell is not executing a function."
 msgstr ""
 "定义本地变量。\n"
 "    \n"
@@ -2793,11 +2874,14 @@ msgstr ""
 "    返回成功除非使用了无效的选项、发生了错误或者 shell 不在\n"
 "    执行一个函数。"
 
-#: builtins.c:542
+#: builtins.c:552
+#, fuzzy
 msgid ""
 "Write arguments to the standard output.\n"
 "    \n"
-"    Display the ARGs on the standard output followed by a newline.\n"
+"    Display the ARGs, separated by a single space character and followed by "
+"a\n"
+"    newline, on the standard output.\n"
 "    \n"
 "    Options:\n"
 "      -n\tdo not append a newline\n"
@@ -2809,6 +2893,7 @@ msgid ""
 "      \\b\tbackspace\n"
 "      \\c\tsuppress further output\n"
 "      \\e\tescape character\n"
+"      \\E\tescape character\n"
 "      \\f\tform feed\n"
 "      \\n\tnew line\n"
 "      \\r\tcarriage return\n"
@@ -2833,7 +2918,7 @@ msgstr ""
 "      -E\t显式地抑制对于反斜杠转义的解释\n"
 "    \n"
 "    `echo' 对下列反斜杠字符进行转义:\n"
-"      \\a\t警告(响铃)\n"
+"      \\a\t警告(响铃)\n"
 "      \\b\t退格\n"
 "      \\c\t抑制更多的输出\n"
 "      \\e\t转义字符\n"
@@ -2843,15 +2928,15 @@ msgstr ""
 "      \\t\t横向制表符\n"
 "      \\v\t纵向制表符\n"
 "      \\\\\t反斜杠\n"
-"      \\0nnn\t以 NNN (八进制)为 ASCII 码的字符。 NNN 可以是\n"
+"      \\0nnn\t以 NNN (八进制)为 ASCII 码的字符。 NNN 可以是\n"
 "    \t0到3个八进制数字\n"
-"      \\xHH\t以 HH (十六进制)为值的八比特字符。HH可以是\n"
+"      \\xHH\t以 HH (十六进制)为值的八比特字符。HH可以是\n"
 "    \t一个或两个十六进制数字\n"
 "    \n"
 "    退出状态:\n"
 "    返回成功除非有写错误发生。"
 
-#: builtins.c:576
+#: builtins.c:588
 msgid ""
 "Write arguments to the standard output.\n"
 "    \n"
@@ -2873,7 +2958,7 @@ msgstr ""
 "    退出状态:\n"
 "    除非写错误发生,否则返回成功。"
 
-#: builtins.c:591
+#: builtins.c:603
 msgid ""
 "Enable and disable shell builtins.\n"
 "    \n"
@@ -2899,31 +2984,31 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless NAME is not a shell builtin or an error occurs."
 msgstr ""
-"å\90¯ç\94¨å\92\8cç¦\81ç\94¨ shell å\86\85åµ\8c。\n"
+"å\90¯ç\94¨å\92\8cç¦\81ç\94¨ shell å\86\85建。\n"
 "    \n"
-"    å\90¯ç\94¨å\92\8cç¦\81ç\94¨ shell ç\9a\84å\86\85åµ\8cå\91½ä»¤ã\80\82ç¦\81ç\94¨ä½¿æ\82¨è\83½å¤\9fæ\89§è¡\8cä¸\80个å\92\8cå\86\85åµ\8c\n"
+"    å\90¯ç\94¨å\92\8cç¦\81ç\94¨ shell ç\9a\84å\86\85建å\91½ä»¤ã\80\82ç¦\81ç\94¨ä½¿æ\82¨è\83½å¤\9fæ\89§è¡\8cä¸\80个å\92\8cå\86\85建\n"
 "    命令同名的磁盘上的命令,而无须使用完整的路径名。\n"
 "    \n"
 "    \n"
 "    选项:\n"
-"      -a\tæ\89\93å\8d°ä¸\80个å\86\85åµ\8c的列表,并显示其中每一个是否启用\n"
-"      -n\tç¦\81ç\94¨æ¯\8fä¸\80个 NAME å\86\85åµ\8cæ\88\96è\80\85æ\98¾ç¤ºä¸\80个被ç¦\81ç\94¨ç\9a\84å\86\85åµ\8c的列表\n"
-"      -p\t以å\8f¯é\87\8dç\94¨ç\9a\84æ ¼å¼\8fæ\89\93å\8d°ä¸\80个å\86\85åµ\8c的列表\n"
-"      -s\tä»\85æ\89\93å\8d°Posix `special'  å\86\85åµ\8c的名称\n"
+"      -a\tæ\89\93å\8d°ä¸\80个å\86\85建的列表,并显示其中每一个是否启用\n"
+"      -n\tç¦\81ç\94¨æ¯\8fä¸\80个 NAME å\86\85建æ\88\96è\80\85æ\98¾ç¤ºä¸\80个被ç¦\81ç\94¨ç\9a\84å\86\85建的列表\n"
+"      -p\t以å\8f¯é\87\8dç\94¨ç\9a\84æ ¼å¼\8fæ\89\93å\8d°ä¸\80个å\86\85建的列表\n"
+"      -s\tä»\85æ\89\93å\8d°Posix `special'  å\86\85建的名称\n"
 "    \n"
 "    控制动态加载的选项:\n"
-"      -f\tä»\8eå\85±äº«å¯¹è±¡ FILENAME æ\96\87件中å\8a è½½ NAME å\86\85åµ\8c\n"
-"      -d\tå\88 é\99¤ä»¥ -f é\80\89项å\8a è½½ç\9a\84å\86\85åµ\8c\n"
+"      -f\tä»\8eå\85±äº«å¯¹è±¡ FILENAME æ\96\87件中å\8a è½½ NAME å\86\85建\n"
+"      -d\tå\88 é\99¤ä»¥ -f é\80\89项å\8a è½½ç\9a\84å\86\85建\n"
 "    \n"
-"    ä¸\8d带é\80\89项æ\97¶ï¼\8cæ¯\8fä¸\80个 NAME å\86\85åµ\8c都被启用。\n"
+"    ä¸\8d带é\80\89项æ\97¶ï¼\8cæ¯\8fä¸\80个 NAME å\86\85建都被启用。\n"
 "    \n"
-"    å¦\82æ\9e\9cè¦\81使ç\94¨ $PATH ä¸­æ\89¾å\88°ç\9a\84 `test' è\80\8cä¸\8dæ\98¯ shell å\86\85åµ\8c的版本,\n"
+"    å¦\82æ\9e\9cè¦\81使ç\94¨ $PATH ä¸­æ\89¾å\88°ç\9a\84 `test' è\80\8cä¸\8dæ\98¯ shell å\86\85建的版本,\n"
 "    输入 `enable -n test'。\n"
 "    \n"
 "    退出状态:\n"
-"    è¿\94å\9b\9eæ\88\90å\8a\9fï¼\8cé\99¤é\9d\9e NAME ä¸\8dæ\98¯ä¸\80个 shell å\86\85åµ\8c或者有错误发生。"
+"    è¿\94å\9b\9eæ\88\90å\8a\9fï¼\8cé\99¤é\9d\9e NAME ä¸\8dæ\98¯ä¸\80个 shell å\86\85建或者有错误发生。"
 
-#: builtins.c:619
+#: builtins.c:631
 msgid ""
 "Execute arguments as a shell command.\n"
 "    \n"
@@ -2942,7 +3027,7 @@ msgstr ""
 "    退出状态:\n"
 "    以命令的状态退出,或者在命令为空的情况下返回成功。"
 
-#: builtins.c:631
+#: builtins.c:643
 msgid ""
 "Parse option arguments.\n"
 "    \n"
@@ -2988,7 +3073,7 @@ msgstr ""
 "    \n"
 "    \n"
 "    OPTSTRING 字符串包含待识别的选项字母;如果一个字母后面跟\n"
-"    着分号,则该选项期待一个参数,而该参数应用空格与选项分开。\n"
+"    着分号,则该选项需要一个参数,而该参数应用空格与选项分开。\n"
 "    \n"
 "    \n"
 "    每次启动时,getopts 会将下一个选项放到 shell 变量 $name\n"
@@ -3005,22 +3090,22 @@ msgstr ""
 "    须的选项没有找到,getopts 放一个 ':' 到 NAME 变量中并且设\n"
 "    置 OPTARG 变量为找到的选项字符。如果 getopts 不在沉默模\n"
 "    式中,并且遇到了一个无效的选项,getopts 放置一个 '?' 到 NAME \n"
-"    å\8f\98é\87\8f中并ä¸\94å\8f\8d设定 OPTARG变量。如果必须的选项没有找到,\n"
-"    ä¸\80个'?'ä¼\9a被æ\94¾å\85¥ NAMEå\8f\98é\87\8f中ï¼\8cOPTARG å°\86被å\8f\8d设定,并且会\n"
+"    å\8f\98é\87\8f中并ä¸\94å\8f\96æ¶\88设定 OPTARG变量。如果必须的选项没有找到,\n"
+"    ä¸\80个'?'ä¼\9a被æ\94¾å\85¥ NAMEå\8f\98é\87\8f中ï¼\8cOPTARG å°\86被å\8f\96æ¶\88设定,并且会\n"
 "    打印一个诊断信息。\n"
 "    \n"
 "    如果 shell 变量 OPTERR 的值为0,getopts 禁用\n"
 "    错误信息的打印,即使 OPTSTRING 变量的第一个字符不是一\n"
 "    个冒号。OPTERR 的默认值为1.\n"
 "    \n"
-"    Getopts 通常解析可定位的参数($0 - $9),不过如果提供了\n"
+"    Getopts 通常解析可定位的参数($0 - $9),不过如果提供了\n"
 "    更多的参数,它们反而会被解析。\n"
 "    \n"
 "    退出状态:\n"
 "    如果一个选项被找到则返回成功;如果遇到了选项的结尾或者\n"
 "    有错误发生则返回失败。"
 
-#: builtins.c:673
+#: builtins.c:685
 msgid ""
 "Replace the shell with the given command.\n"
 "    \n"
@@ -3059,7 +3144,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功除非 COMMAND 命令没有找到或者出现一个重定向错误。"
 
-#: builtins.c:694
+#: builtins.c:706
 msgid ""
 "Exit the shell.\n"
 "    \n"
@@ -3071,7 +3156,7 @@ msgstr ""
 "    以状态 N 退出 shell。  如果 N 被省略,则退出状态\n"
 "    为最后一个执行的命令的退出状态。"
 
-#: builtins.c:703
+#: builtins.c:715
 msgid ""
 "Exit a login shell.\n"
 "    \n"
@@ -3084,7 +3169,7 @@ msgstr ""
 "    以状态 N 退出一个登录 shell。如果不在登录 shell 中执行,则\n"
 "    返回一个错误。"
 
-#: builtins.c:713
+#: builtins.c:725
 msgid ""
 "Display or execute commands from the history list.\n"
 "    \n"
@@ -3125,7 +3210,7 @@ msgstr ""
 "    \t\t然后是 vi\n"
 "      -l \t列出行而不编辑\n"
 "      -n\t列举时省略行号\n"
-"      -r\t反转行的顺序(最新行在前)\n"
+"      -r\t反转行的顺序(最新行在前)\n"
 "    \n"
 "    用 `fc -s [模式=替换 ...] [命令]' 的格式,COMMAND 命令会在 OLD=NEW\n"
 "    替换之后被重新执行。\n"
@@ -3137,7 +3222,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,或者执行的命令的状态;如果错误发生则返回非零。"
 
-#: builtins.c:743
+#: builtins.c:755
 msgid ""
 "Move job to the foreground.\n"
 "    \n"
@@ -3157,7 +3242,7 @@ msgstr ""
 "    退出状态:\n"
 "    放至前台的命令状态,或者当错误发生时为失败。"
 
-#: builtins.c:758
+#: builtins.c:770
 msgid ""
 "Move jobs to the background.\n"
 "    \n"
@@ -3179,7 +3264,8 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功除非任务管理没有启用或者错误发生。"
 
-#: builtins.c:772
+#: builtins.c:784
+#, fuzzy
 msgid ""
 "Remember or display program locations.\n"
 "    \n"
@@ -3190,7 +3276,7 @@ msgid ""
 "    Options:\n"
 "      -d\t\tforget the remembered location of each NAME\n"
 "      -l\t\tdisplay in a format that may be reused as input\n"
-"      -p pathname\tuse PATHNAME is the full pathname of NAME\n"
+"      -p pathname\tuse PATHNAME as the full pathname of NAME\n"
 "      -r\t\tforget all remembered locations\n"
 "      -t\t\tprint the remembered location of each NAME, preceding\n"
 "    \t\teach location with the corresponding NAME if multiple\n"
@@ -3222,7 +3308,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非 NAME 命令没有找到或者使用了无效的选项。"
 
-#: builtins.c:797
+#: builtins.c:809
 msgid ""
 "Display information about builtin commands.\n"
 "    \n"
@@ -3243,9 +3329,9 @@ msgid ""
 "    Returns success unless PATTERN is not found or an invalid option is "
 "given."
 msgstr ""
-"æ\98¾ç¤ºå\86\85åµ\8c命令的相关信息。\n"
+"æ\98¾ç¤ºå\86\85建命令的相关信息。\n"
 "    \n"
-"    æ\98¾ç¤ºå\86\85åµ\8c命令的简略信息。如果指定了 PATTERN 模式,\n"
+"    æ\98¾ç¤ºå\86\85建命令的简略信息。如果指定了 PATTERN 模式,\n"
 "    给出所有匹配 PATTERN 模式的命令的详细帮助,否则打\n"
 "    印一个帮助主题列表\n"
 "    \n"
@@ -3261,7 +3347,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非 PATTERN 模式没有找到或者使用了无效选项。"
 
-#: builtins.c:821
+#: builtins.c:833
 msgid ""
 "Display or manipulate the history list.\n"
 "    \n"
@@ -3303,7 +3389,7 @@ msgstr ""
 "      -c\t删除所有条目从而清空历史列表。\n"
 "      -d 偏移量\t从指定位置删除历史列表。\n"
 "    \n"
-"      -a\t将当前绘画的历史行追加到历史文件中\n"
+"      -a\t将当前会话的历史行追加到历史文件中\n"
 "      -n\t从历史文件中读取所有未被读取的行\n"
 "      -r\t读取历史文件并将内容追加到历史列表中\n"
 "    \t中\n"
@@ -3324,7 +3410,8 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者发生错误。"
 
-#: builtins.c:857
+#: builtins.c:869
+#, fuzzy
 msgid ""
 "Display status of jobs.\n"
 "    \n"
@@ -3333,7 +3420,7 @@ msgid ""
 "    \n"
 "    Options:\n"
 "      -l\tlists process IDs in addition to the normal information\n"
-"      -n\tlist only processes that have changed status since the last\n"
+"      -n\tlists only processes that have changed status since the last\n"
 "    \tnotification\n"
 "      -p\tlists process IDs only\n"
 "      -r\trestrict output to running jobs\n"
@@ -3366,7 +3453,7 @@ msgstr ""
 "    返回成功,除非使用了无效的选项或者有错误发生。\n"
 "    如果使用 -x选项,则返回 COMMAND 命令的退出状态。"
 
-#: builtins.c:884
+#: builtins.c:896
 msgid ""
 "Remove jobs from current shell.\n"
 "    \n"
@@ -3396,7 +3483,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功除非使用了无效的选项或者 JOBSPEC 声明。"
 
-#: builtins.c:903
+#: builtins.c:915
 msgid ""
 "Send a signal to a job.\n"
 "    \n"
@@ -3429,13 +3516,13 @@ msgstr ""
 "      -l\t列出信号名称;如果参数后跟 `-l'则被假设为信号编号,\n"
 "    \t而相应的信号名称会被列出\n"
 "    \n"
-"    Kill æ\88\90为 shell å\86\85åµ\8c有两个理由:它允许使用任务编号而不是进程号,\n"
+"    Kill æ\88\90为 shell å\86\85建有两个理由:它允许使用任务编号而不是进程号,\n"
 "    并且在可以创建的进程数上限达到是允许进程被杀死。\n"
 "    \n"
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者有错误发生。"
 
-#: builtins.c:926
+#: builtins.c:938
 #, fuzzy
 msgid ""
 "Evaluate arithmetic expressions.\n"
@@ -3510,7 +3597,7 @@ msgstr ""
 "    \t&=, ^=, |=\t赋值\n"
 "    \n"
 "    Shell 变量允许作为操作数。表达式中的变量的名称会被取代\n"
-"    以值(强制转换为等宽的整数)。表达式中的变量不需要打开\n"
+"    以值(强制转换为等宽的整数)。表达式中的变量不需要打开\n"
 "    整数属性。\n"
 "    \n"
 "    \n"
@@ -3521,7 +3608,8 @@ msgstr ""
 "    退出状态:\n"
 "    如果最后一个 ARG 参数估值为0,则 let 返回1; 否则 let 返回0。"
 
-#: builtins.c:971
+#: builtins.c:983
+#, fuzzy
 msgid ""
 "Read a line from the standard input and split it into fields.\n"
 "    \n"
@@ -3556,16 +3644,19 @@ msgid ""
 "      -s\t\tdo not echo input coming from a terminal\n"
 "      -t timeout\ttime out and return failure if a complete line of input "
 "is\n"
-"    \t\tnot read withint TIMEOUT seconds.  The value of the TMOUT\n"
+"    \t\tnot read within TIMEOUT seconds.  The value of the TMOUT\n"
 "    \t\tvariable is the default timeout.  TIMEOUT may be a\n"
-"    \t\tfractional number.  If TIMEOUT is 0, read returns success only\n"
-"    \t\tif input is available on the specified file descriptor.  The\n"
+"    \t\tfractional number.  If TIMEOUT is 0, read returns immediately,\n"
+"    \t\twithout trying to read any data, returning success only if\n"
+"    \t\tinput is available on the specified file descriptor.  The\n"
 "    \t\texit status is greater than 128 if the timeout is exceeded\n"
 "      -u fd\t\tread from file descriptor FD instead of the standard input\n"
 "    \n"
 "    Exit Status:\n"
 "    The return code is zero, unless end-of-file is encountered, read times "
-"out,\n"
+"out\n"
+"    (in which case it's greater than 128), a variable assignment error "
+"occurs,\n"
 "    or an invalid file descriptor is supplied as the argument to -u."
 msgstr ""
 "从标准输入读取一行并将其分为不同的域。\n"
@@ -3605,7 +3696,7 @@ msgstr ""
 "    返回码为零,除非遇到了文件结束符,读超时,或者无效的文\n"
 "    件描述符作为参数传递给了 -u 选项。"
 
-#: builtins.c:1014
+#: builtins.c:1028
 msgid ""
 "Return from a shell function.\n"
 "    \n"
@@ -3625,7 +3716,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回 N,或者如果 shell 不在执行一个函数或引用脚本时,失败。"
 
-#: builtins.c:1027
+#: builtins.c:1041
 #, fuzzy
 msgid ""
 "Set or unset values of shell options and positional parameters.\n"
@@ -3692,7 +3783,7 @@ msgid ""
 "      -E  If set, the ERR trap is inherited by shell functions.\n"
 "      -H  Enable ! style history substitution.  This flag is on\n"
 "          by default when the shell is interactive.\n"
-"      -P  If set, do not follow symbolic links when executing commands\n"
+"      -P  If set, do not resolve symbolic links when executing commands\n"
 "          such as cd which change the current directory.\n"
 "      -T  If set, the DEBUG trap is inherited by shell functions.\n"
 "      --  Assign any remaining arguments to the positional parameters.\n"
@@ -3710,7 +3801,7 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given."
 msgstr ""
-"设å®\9aæ\88\96å\8f\8d设定 shell 选项和位置参数的值。\n"
+"设å®\9aæ\88\96å\8f\96æ¶\88设定 shell 选项和位置参数的值。\n"
 "    \n"
 "    改变 shell 选项和位置参数的值,或者显示 shell 变量的\n"
 "    名称和值。\n"
@@ -3719,7 +3810,7 @@ msgstr ""
 "      -a  标记修改的或者创建的变量为导出。\n"
 "      -b  立即通告任务终结。\n"
 "      -e  如果一个命令以非零状态退出,则立即退出。\n"
-"      -f  禁用文件名生成(模式匹配)。\n"
+"      -f  禁用文件名生成(模式匹配)。\n"
 "      -h  当查询命令时记住它们的位置\n"
 "      -k  所有的赋值参数被放在命令的环境中,而不仅仅是\n"
 "          命令名称之前的参数。\n"
@@ -3786,7 +3877,8 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功除非使用了无效的参数。"
 
-#: builtins.c:1112
+#: builtins.c:1126
+#, fuzzy
 msgid ""
 "Unset values and attributes of shell variables and functions.\n"
 "    \n"
@@ -3795,6 +3887,8 @@ msgid ""
 "    Options:\n"
 "      -f\ttreat each NAME as a shell function\n"
 "      -v\ttreat each NAME as a shell variable\n"
+"      -n\ttreat each NAME as a name reference and unset the variable itself\n"
+"    \trather than the variable it references\n"
 "    \n"
 "    Without options, unset first tries to unset a variable, and if that "
 "fails,\n"
@@ -3805,7 +3899,7 @@ msgid ""
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or a NAME is read-only."
 msgstr ""
-"å\8f\8d设定 shell 变量和函数的值和属性。\n"
+"å\8f\96æ¶\88设定 shell 变量和函数的值和属性。\n"
 "    \n"
 "    对每一个 NAME 名称,删除对应的变量或函数。\n"
 "    \n"
@@ -3813,15 +3907,15 @@ msgstr ""
 "      -f\t将每个 NAME 名称当作函数对待\n"
 "      -v\t将每个 NAME 名称当作变量对待\n"
 "    \n"
-"    ä¸\8d带é\80\89项æ\97¶ï¼\8cunset é¦\96å\85\88å°\9dè¯\95å\8f\8d设定一个变量,如果\n"
-"    å¤±è´¥ï¼\8cå\86\8då°\9dè¯\95å\8f\8d设定一个函数。\n"
+"    ä¸\8d带é\80\89项æ\97¶ï¼\8cunset é¦\96å\85\88å°\9dè¯\95å\8f\96æ¶\88设定一个变量,如果\n"
+"    å¤±è´¥ï¼\8cå\86\8då°\9dè¯\95å\8f\96æ¶\88设定一个函数。\n"
 "    \n"
-"    æ\9f\90äº\9bå\8f\98é\87\8fä¸\8då\8f¯ä»¥è¢«å\8f\8d设定;请查看 `readonly'。\n"
+"    æ\9f\90äº\9bå\8f\98é\87\8fä¸\8då\8f¯ä»¥è¢«å\8f\96æ¶\88设定;请查看 `readonly'。\n"
 "    \n"
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者 NAME 名称为只读。"
 
-#: builtins.c:1132
+#: builtins.c:1148
 msgid ""
 "Set export attribute for shell variables.\n"
 "    \n"
@@ -3854,7 +3948,8 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者 NAME 名称。"
 
-#: builtins.c:1151
+#: builtins.c:1167
+#, fuzzy
 msgid ""
 "Mark shell variables as unchangeable.\n"
 "    \n"
@@ -3866,7 +3961,9 @@ msgid ""
 "      -a\trefer to indexed array variables\n"
 "      -A\trefer to associative array variables\n"
 "      -f\trefer to shell functions\n"
-"      -p\tdisplay a list of all readonly variables and functions\n"
+"      -p\tdisplay a list of all readonly variables or functions, depending "
+"on\n"
+"            whether or not the -f option is given\n"
 "    \n"
 "    An argument of `--' disables further option processing.\n"
 "    \n"
@@ -3889,7 +3986,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者 NAME 名称。"
 
-#: builtins.c:1172
+#: builtins.c:1189
 msgid ""
 "Shift positional parameters.\n"
 "    \n"
@@ -3907,7 +4004,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非 N 为负或者大于 $#。"
 
-#: builtins.c:1184 builtins.c:1199
+#: builtins.c:1201 builtins.c:1216
 msgid ""
 "Execute commands from a file in the current shell.\n"
 "    \n"
@@ -3929,7 +4026,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回 FILENAME 文件中最后一个命令的状态;如果 FILENAME 文件不可读则失败。"
 
-#: builtins.c:1215
+#: builtins.c:1232
 msgid ""
 "Suspend shell execution.\n"
 "    \n"
@@ -3953,7 +4050,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非没有启用任务控制或者有错误发生。"
 
-#: builtins.c:1231
+#: builtins.c:1248
 #, fuzzy
 msgid ""
 "Evaluate conditional expression.\n"
@@ -4019,6 +4116,8 @@ msgid ""
 "    \n"
 "      -o OPTION      True if the shell option OPTION is enabled.\n"
 "      -v VAR\t True if the shell variable VAR is set\n"
+"      -R VAR\t True if the shell variable VAR is set and is a name "
+"reference.\n"
 "      ! EXPR         True if expr is false.\n"
 "      EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
 "      EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4036,7 +4135,7 @@ msgid ""
 msgstr ""
 "对条件表达式进行估值。\n"
 "    \n"
-"    根据 EXPR 表达式的估值以状态0(真)或1(伪)退出。\n"
+"    根据 EXPR 表达式的估值以状态0(真)或1(伪)退出。\n"
 "    表达式可以是一元或者二元的。一元表达式通常用于检测\n"
 "    文件状态。同时还有字符串操作符和数字比较操作符。\n"
 "    \n"
@@ -4064,8 +4163,8 @@ msgstr ""
 "      -G 文件        如果文件被您的组所有则为真。\n"
 "      -N 文件        如果文件上次被读取之后修改过则为真。\n"
 "    \n"
-"      FILE1 -nt FILE2  如果 file1 文件新于 file2 文件则为真根据\n"
-"                       修改日期。\n"
+"      FILE1 -nt FILE2  如果 file1 文件新于 file2 文件则为真(根据\n"
+"                       修改日期)。\n"
 "    \n"
 "      FILE1 -ot FILE2  如果 file1 文件旧于 file2 文件则为真。\n"
 "    \n"
@@ -4104,7 +4203,7 @@ msgstr ""
 "    如果 EXPR 表达式估值为真则返回成功;如果 EXPR 表达式估值\n"
 "    为假或者使用了无效的参数则返回失败。"
 
-#: builtins.c:1311
+#: builtins.c:1329
 msgid ""
 "Evaluate conditional expression.\n"
 "    \n"
@@ -4113,10 +4212,10 @@ msgid ""
 msgstr ""
 "估值条件表达式。\n"
 "    \n"
-"    æ\98¯å\86\85åµ\8c命令 \"test\" 的同义词,但是最后一个参数必须是\n"
+"    æ\98¯å\86\85建命令 \"test\" 的同义词,但是最后一个参数必须是\n"
 "    字符 `]',以匹配起始的 `['。"
 
-#: builtins.c:1320
+#: builtins.c:1338
 msgid ""
 "Display process times.\n"
 "    \n"
@@ -4135,7 +4234,7 @@ msgstr ""
 "    退出状态\n"
 "    总是成功。"
 
-#: builtins.c:1332
+#: builtins.c:1350
 #, fuzzy
 msgid ""
 "Trap signals and other events.\n"
@@ -4184,7 +4283,7 @@ msgstr ""
 "    定义一个处理器,在 shell 接收到信号和其他条件下执行。\n"
 "    \n"
 "    ARG 参数是当 shell 接收到 SIGNAL_SPEC 信号时读取和执行的命令。\n"
-"    如果没有指定 ARG 参数(并且只给出一个 SIGNAL_SPEC 信号)或者\n"
+"    如果没有指定 ARG 参数(并且只给出一个 SIGNAL_SPEC 信号)或者\n"
 "    或者 ARG 参数为 `-',每一个指定的参数会被重置为原始值。如果 ARG 参数\n"
 "    是一个空串,则每一个 SIGNAL_SPEC 信号会被 shell 和它启动的命令忽略。\n"
 "    \n"
@@ -4206,7 +4305,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者 SIGSPEC。"
 
-#: builtins.c:1368
+#: builtins.c:1386
 msgid ""
 "Display information about command type.\n"
 "    \n"
@@ -4241,15 +4340,15 @@ msgstr ""
 "    \n"
 "    选项:\n"
 "      -a\t显示所有包含名称为 NAME 的可执行文件的位置;\n"
-"    \tå\8c\85æ\8b¬å\88«å\90\8dã\80\81å\86\85åµ\8c和函数。仅当 `-p' 选项没有使用时\n"
+"    \tå\8c\85æ\8b¬å\88«å\90\8dã\80\81å\86\85建和函数。仅当 `-p' 选项没有使用时\n"
 "      -f\t抑制 shell 函数查询\n"
 "      -P\t为每个 NAME 名称惊醒 PATH 路径搜索,即使它是别名、\n"
-"    \tå\86\85åµ\8c或函数,并且返回将被执行的磁盘上文件的名称。\n"
+"    \tå\86\85建或函数,并且返回将被执行的磁盘上文件的名称。\n"
 "      -p\t返回将被执行的磁盘上文件的名称,或者当 `type -t NAME'\n"
 "    \t不返回 `file' 时,不返回任何值。\n"
 "      -t\t返回下列词中的任何一个`alias'、`keyword'、\n"
 "    \t`function'、`builtin'、`file'或者`',如果 NAME 是相应的\n"
-"    \tä¸\80个å\88«å\90\8dã\80\81shell ä¿\9dç\95\99å­\97ã\80\81shell å\87½æ\95°ã\80\81shell å\86\85åµ\8c、\n"
+"    \tä¸\80个å\88«å\90\8dã\80\81shell ä¿\9dç\95\99å­\97ã\80\81shell å\87½æ\95°ã\80\81shell å\86\85建、\n"
 "    \t磁盘文件或没有找到。\n"
 "    \n"
 "    参数:\n"
@@ -4258,7 +4357,8 @@ msgstr ""
 "    退出状态:\n"
 "    如果所有的 NAME 命令都找到则返回成功;任何找不到则失败。"
 
-#: builtins.c:1399
+#: builtins.c:1417
+#, fuzzy
 msgid ""
 "Modify shell resource limits.\n"
 "    \n"
@@ -4287,6 +4387,9 @@ msgid ""
 "      -u\tthe maximum number of user processes\n"
 "      -v\tthe size of virtual memory\n"
 "      -x\tthe maximum number of file locks\n"
+"      -T    the maximum number of threads\n"
+"    \n"
+"    Not all options are available on all platforms.\n"
 "    \n"
 "    If LIMIT is given, it is the new value of the specified resource; the\n"
 "    special LIMIT values `soft', `hard', and `unlimited' stand for the\n"
@@ -4307,13 +4410,13 @@ msgstr ""
 "    资源的控制。\n"
 "    \n"
 "    选项:\n"
-"      -S\t使用 `soft'(软)资源限制\n"
-"      -H\t使用 `hard'(硬)资源限制\n"
+"      -S\t使用 `soft'(软)资源限制\n"
+"      -H\t使用 `hard'(硬)资源限制\n"
 "      -a\t所有当前限制都被报告\n"
 "      -b\t套接字缓存尺寸\n"
 "      -c\t创建的核文件的最大尺寸\n"
 "      -d\t一个进程的数据区的最大尺寸\n"
-"      -e\t最高的调度优先级(`nice')\n"
+"      -e\t最高的调度优先级(`nice')\n"
 "      -f\t有 shell 及其子进程可以写的最大文件尺寸\n"
 "      -i\t最多的可以挂起的信号数\n"
 "      -l\t一个进程可以锁定的最大内存尺寸\n"
@@ -4338,7 +4441,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者错误发生。"
 
-#: builtins.c:1444
+#: builtins.c:1465
 msgid ""
 "Display or set file mode mask.\n"
 "    \n"
@@ -4370,21 +4473,25 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的 MODE 模式或者选项。"
 
-#: builtins.c:1464
+#: builtins.c:1485
+#, fuzzy
 msgid ""
 "Wait for job completion and return exit status.\n"
 "    \n"
-"    Waits for the process identified by ID, which may be a process ID or a\n"
+"    Waits for each process identified by an ID, which may be a process ID or "
+"a\n"
 "    job specification, and reports its termination status.  If ID is not\n"
 "    given, waits for all currently active child processes, and the return\n"
 "    status is zero.  If ID is a a job specification, waits for all "
 "processes\n"
-"    in the job's pipeline.\n"
+"    in that job's pipeline.\n"
+"    \n"
+"    If the -n option is supplied, waits for the next job to terminate and\n"
+"    returns its exit status.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns the status of ID; fails if ID is invalid or an invalid option "
-"is\n"
-"    given."
+"    Returns the status of the last ID; fails if ID is invalid or an invalid\n"
+"    option is given."
 msgstr ""
 "等待任务完成并返回退出状态。\n"
 "    \n"
@@ -4396,18 +4503,20 @@ msgstr ""
 "    退出状态:\n"
 "    返回 ID 进程的状态;如果使用了无效的 ID 或者选项则失败。"
 
-#: builtins.c:1482
+#: builtins.c:1506
+#, fuzzy
 msgid ""
 "Wait for process completion and return exit status.\n"
 "    \n"
-"    Waits for the specified process and reports its termination status.  If\n"
-"    PID is not given, all currently active child processes are waited for,\n"
-"    and the return code is zero.  PID must be a process ID.\n"
+"    Waits for each process specified by a PID and reports its termination "
+"status.\n"
+"    If PID is not given, waits for all currently active child processes,\n"
+"    and the return status is zero.  PID must be a process ID.\n"
 "    \n"
 "    Exit Status:\n"
-"    Returns the status of ID; fails if ID is invalid or an invalid option "
-"is\n"
-"    given."
+"    Returns the status of the last PID; fails if PID is invalid or an "
+"invalid\n"
+"    option is given."
 msgstr ""
 "等待进程完成并且返回退出状态。\n"
 "    \n"
@@ -4419,7 +4528,7 @@ msgstr ""
 "    返回进程ID的状态;如果ID是无效的进程号或者指定了无效\n"
 "    的选项则失败。"
 
-#: builtins.c:1497
+#: builtins.c:1521
 msgid ""
 "Execute commands for each member in a list.\n"
 "    \n"
@@ -4440,7 +4549,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后执行的命令的状态。"
 
-#: builtins.c:1511
+#: builtins.c:1535
 msgid ""
 "Arithmetic for loop.\n"
 "    \n"
@@ -4470,7 +4579,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后执行的命令的状态。"
 
-#: builtins.c:1529
+#: builtins.c:1553
 msgid ""
 "Select words from a list and execute commands.\n"
 "    \n"
@@ -4503,7 +4612,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1550
+#: builtins.c:1574
 msgid ""
 "Report time consumed by pipeline's execution.\n"
 "    \n"
@@ -4531,7 +4640,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回状态即PIPELINE 的返回状态。"
 
-#: builtins.c:1567
+#: builtins.c:1591
 msgid ""
 "Execute commands based on pattern matching.\n"
 "    \n"
@@ -4549,7 +4658,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1579
+#: builtins.c:1603
 msgid ""
 "Execute commands based on conditional.\n"
 "    \n"
@@ -4580,7 +4689,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1596
+#: builtins.c:1620
 msgid ""
 "Execute commands as long as a test succeeds.\n"
 "    \n"
@@ -4598,7 +4707,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1608
+#: builtins.c:1632
 msgid ""
 "Execute commands as long as a test does not succeed.\n"
 "    \n"
@@ -4616,7 +4725,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1620
+#: builtins.c:1644
 msgid ""
 "Create a coprocess named NAME.\n"
 "    \n"
@@ -4638,7 +4747,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回 COMMAND 命令的退出状态。"
 
-#: builtins.c:1634
+#: builtins.c:1658
 msgid ""
 "Define shell function.\n"
 "    \n"
@@ -4661,7 +4770,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功除非 NAME 为只读。"
 
-#: builtins.c:1648
+#: builtins.c:1672
 msgid ""
 "Group commands as a unit.\n"
 "    \n"
@@ -4679,7 +4788,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回最后一个执行的命令的状态。"
 
-#: builtins.c:1660
+#: builtins.c:1684
 msgid ""
 "Resume job in foreground.\n"
 "    \n"
@@ -4703,7 +4812,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回被继续的任务的状态。"
 
-#: builtins.c:1675
+#: builtins.c:1699
 msgid ""
 "Evaluate arithmetic expression.\n"
 "    \n"
@@ -4721,7 +4830,7 @@ msgstr ""
 "    退出状态\n"
 "    如果表达式估值为0则返回 1;否则返回0。"
 
-#: builtins.c:1687
+#: builtins.c:1711
 msgid ""
 "Execute conditional command.\n"
 "    \n"
@@ -4751,7 +4860,7 @@ msgstr ""
 "执行条件命令。\n"
 "    \n"
 "    根据条件表达式 EXPRESSION 的估值返回状态0或1。表达式按照\n"
-"    `test' å\86\85åµ\8c的相同条件组成,或者可以有下列操作符连接而成:\n"
+"    `test' å\86\85建的相同条件组成,或者可以有下列操作符连接而成:\n"
 "    \n"
 "      ( EXPRESSION )\t返回 EXPRESSION 表达式的值\n"
 "      ! EXPRESSION\t\t如果 EXPRESSION表达式为假则为真,否则为假\n"
@@ -4769,7 +4878,7 @@ msgstr ""
 "    退出状态:\n"
 "    根据 EXPRESSION 的值为0或1。"
 
-#: builtins.c:1713
+#: builtins.c:1737
 msgid ""
 "Common shell variable names and usage.\n"
 "    \n"
@@ -4836,7 +4945,7 @@ msgstr ""
 "    HOSTTYPE\t当前版本的 BASH 在其之上运行的 CPU 类型。\n"
 "    IGNOREEOF\t控制 shell 收到文件结束符作为单一输入后的\n"
 "    \t\t动作。如果设定这个变量,则它的值是 shell 退出之前在\n"
-"    \t\t一个空行上可以连续看到的文件结束符数量(默认为10)。\n"
+"    \t\t一个空行上可以连续看到的文件结束符数量(默认为10)。\n"
 "    \t\t未设定时,文件结束符标志着输入的结束。\n"
 "    MACHTYPE\t描述当前运行 Bash 的系统的字符串。\n"
 "    MAILCHECK\tBash 检测新邮件的频率,以秒为单位。\n"
@@ -4864,7 +4973,7 @@ msgstr ""
 "    HISTIGNORE\t用于决定哪些命令被存入历史文件的模式\n"
 "    \t\t列表,以冒号分隔。\n"
 
-#: builtins.c:1770
+#: builtins.c:1794
 msgid ""
 "Add directories to stack.\n"
 "    \n"
@@ -4904,20 +5013,20 @@ msgstr ""
 "    \t进行操作。\n"
 "    \n"
 "    参数:\n"
-"      +N\t旋转栈从而第 N 个目录(`dirs' 显示的列表中左起,从零开始)\n"
+"      +N\t旋转栈从而第 N 个目录(`dirs' 显示的列表中左起,从零开始)\n"
 "    \t将移动到栈顶。\n"
 "    \n"
-"      -N\t旋转栈从而第 N 个目录(`dirs' 显示的列表中右起,从零开始)\n"
+"      -N\t旋转栈从而第 N 个目录(`dirs' 显示的列表中右起,从零开始)\n"
 "    \t将移动到栈顶。\n"
 "    \n"
 "      dir\t将 DIR 目录添加到栈顶,并且使其成为当前工作目录。\n"
 "    \n"
-"    `dirs' å\86\85åµ\8c显示目录栈。\n"
+"    `dirs' å\86\85建显示目录栈。\n"
 "    \n"
 "    退出状态:\n"
 "    返回成功,除非使用了无效的参数或者目录转换失败。"
 
-#: builtins.c:1804
+#: builtins.c:1828
 msgid ""
 "Remove directories from stack.\n"
 "    \n"
@@ -4953,18 +5062,18 @@ msgstr ""
 "    \t进行操作。\n"
 "    \n"
 "    参数:\n"
-"      +N\t删除第 N 个目录(`dirs' 显示的目录列表中左起,从零开始)。\n"
+"      +N\t删除第 N 个目录(`dirs' 显示的目录列表中左起,从零开始)。\n"
 "    \t例如: `popd +0' 删除第一个目录,popd +1' 删除第二个。\n"
 "    \n"
-"      -N\t删除第 N 个目录(`dirs' 显示的目录列表中右起,从零开始)。\n"
+"      -N\t删除第 N 个目录(`dirs' 显示的目录列表中右起,从零开始)。\n"
 "    \t例如: `popd -0'删除最后一个目录,,`popd -1' 删除倒数第二个。\n"
 "    \n"
-"    `dirs' å\86\85åµ\8c显示目录栈。\n"
+"    `dirs' å\86\85建显示目录栈。\n"
 "    \n"
 "    退出状态:\n"
 "    返回成功,除非使用了无效的参数或者目录变换失败。"
 
-#: builtins.c:1834
+#: builtins.c:1858
 msgid ""
 "Display directory stack.\n"
 "    \n"
@@ -5013,7 +5122,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者发生错误。"
 
-#: builtins.c:1863
+#: builtins.c:1887
 msgid ""
 "Set and unset shell options.\n"
 "    \n"
@@ -5033,7 +5142,7 @@ msgid ""
 "    Returns success if OPTNAME is enabled; fails if an invalid option is\n"
 "    given or OPTNAME is disabled."
 msgstr ""
-"设å®\9aå\92\8cå\8f\8d设定 shell 选项。\n"
+"设å®\9aå\92\8cå\8f\96æ¶\88设定 shell 选项。\n"
 "    \n"
 "    改变每个 shell 选项 OPTNAME的设定。不带参数\n"
 "    时,列出所有 shell 选项并标注每一个选项是否被\n"
@@ -5043,14 +5152,14 @@ msgstr ""
 "      -o\t限制 OPTNAME 为定义用于`set -o' 的选项\n"
 "      -p\t打印每个 shell 选项并标注它的状态。\n"
 "      -q\t抑制输出\n"
-"      -s\t启用(设定)每个 OPTNAME 选项\n"
-"      -u\t禁用(反设定)每个 OPTNAME 选项\n"
+"      -s\t启用(设定)每个 OPTNAME 选项\n"
+"      -u\t禁用(取消设定)每个 OPTNAME 选项\n"
 "    \n"
 "    退出状态:\n"
 "    如果 OPTNAME 选项被启用则返回成功;如果是\n"
 "    无效的选项或OPTNAME 被禁用则失败。"
 
-#: builtins.c:1884
+#: builtins.c:1908
 #, fuzzy
 msgid ""
 "Formats and prints ARGUMENTS under control of the FORMAT.\n"
@@ -5068,9 +5177,9 @@ msgid ""
 "successive\n"
 "    argument.\n"
 "    \n"
-"    In addition to the standard format specifications described in printf"
-"(1)\n"
-"    and printf(3), printf interprets:\n"
+"    In addition to the standard format specifications described in "
+"printf(1),\n"
+"    printf interprets:\n"
 "    \n"
 "      %b\texpand backslash escape sequences in the corresponding argument\n"
 "      %q\tquote the argument in a way that can be reused as shell input\n"
@@ -5078,6 +5187,12 @@ msgid ""
 "format\n"
 "            string for strftime(3)\n"
 "    \n"
+"    The format is re-used as necessary to consume all of the arguments.  If\n"
+"    there are fewer arguments than the format requires,  extra format\n"
+"    specifications behave as if a zero value or null string, as "
+"appropriate,\n"
+"    had been supplied.\n"
+"    \n"
 "    Exit Status:\n"
 "    Returns success unless an invalid option is given or a write or "
 "assignment\n"
@@ -5100,7 +5215,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者写或赋值错误发生。"
 
-#: builtins.c:1913
+#: builtins.c:1942
 msgid ""
 "Specify how arguments are to be completed by Readline.\n"
 "    \n"
@@ -5144,7 +5259,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者错误发生。"
 
-#: builtins.c:1941
+#: builtins.c:1970
 msgid ""
 "Display possible completions depending on the options.\n"
 "    \n"
@@ -5165,7 +5280,7 @@ msgstr ""
 "    退出状态:\n"
 "    除非使用了无效选项或者错误发生,否则返回成功。"
 
-#: builtins.c:1956
+#: builtins.c:1985
 #, fuzzy
 msgid ""
 "Modify or display completion options.\n"
@@ -5211,14 +5326,14 @@ msgstr ""
 "    \n"
 "    参数:\n"
 "    \n"
-"    æ¯\8f个 NAME å\90\8d称é\83½å¯¹åº\94ä¸\80个ä¹\8bå\89\8d以é\80\9aè¿\87 `complete' å\86\85åµ\8c定义了补完声明的\n"
+"    æ¯\8f个 NAME å\90\8d称é\83½å¯¹åº\94ä¸\80个ä¹\8bå\89\8d以é\80\9aè¿\87 `complete' å\86\85建定义了补完声明的\n"
 "    命令。如果不提供 NAME 名称,当前生成补完的函数必须调用 compopt,\n"
 "    并且当前执行的补完生成器选项会被修改。\n"
 "    \n"
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项或者 NAME 名称没有定义补完声明。"
 
-#: builtins.c:1986
+#: builtins.c:2015
 #, fuzzy
 msgid ""
 "Read lines from the standard input into an indexed array variable.\n"
@@ -5284,7 +5399,7 @@ msgstr ""
 "    退出状态:\n"
 "    返回成功,除非使用了无效的选项,或者 ARRAY 变量是只读或者不是下标数组。"
 
-#: builtins.c:2020
+#: builtins.c:2049
 msgid ""
 "Read lines from a file into an array variable.\n"
 "    \n"
@@ -5294,6 +5409,16 @@ msgstr ""
 "    \n"
 "    一个 `mapfile'的同义词。"
 
+#~ msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
+#~ msgstr "版权所有 (C) 2009 自由软件基金会\n"
+
+#~ msgid ""
+#~ "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
+#~ "html>\n"
+#~ msgstr ""
+#~ "许可证 GPLv2+: GNU GPL 许可证第二版或者更新版本 <http://gnu.org/licenses/"
+#~ "gpl.html>\n"
+
 #~ msgid ""
 #~ ".  With EXPR, returns\n"
 #~ "    "