summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2018-02-12 11:20:09 -0500
committerLeo Famulari <leo@famulari.name>2018-02-12 11:20:48 -0500
commit65bdcf3adf7058c670d48fca92b1097d6ea38397 (patch)
tree109da37722cefb96472eb832009b62723e94009b
parent0093e26f911cc9a055615d599b2e44b4d3a6cf6a (diff)
downloadguix-65bdcf3adf7058c670d48fca92b1097d6ea38397.tar.gz
nls: Update 'zh_CN' translation.
-rw-r--r--po/guix/zh_CN.po1854
1 files changed, 1331 insertions, 523 deletions
diff --git a/po/guix/zh_CN.po b/po/guix/zh_CN.po
index 5589d5d129..e58852d817 100644
--- a/po/guix/zh_CN.po
+++ b/po/guix/zh_CN.po
@@ -2,103 +2,139 @@
 # Copyright (C) 2015 Free Software Foundation, Inc.
 # This file is distributed under the same license as the guix package.
 # Mingye Wang <arthur200126@gmail.com>, 2016.
+# Boyuan Yang <073plan@gmail.com>, 2018.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: guix 0.9.1\n"
+"Project-Id-Version: guix 0.14.0\n"
 "Report-Msgid-Bugs-To: ludo@gnu.org\n"
-"POT-Creation-Date: 2016-03-04 16:52+0100\n"
-"PO-Revision-Date: 2016-04-27 20:31-0400\n"
-"Last-Translator: Mingye Wang (Arthur2e5) <arthur200126@gmail.com>\n"
+"POT-Creation-Date: 2017-11-28 08:56+0100\n"
+"PO-Revision-Date: 2018-02-12 16:47+0800\n"
+"Last-Translator: Boyuan Yang <073plan@gmail.com>\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"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 1.8.7\n"
+"X-Generator: Poedit 2.0.6\n"
 
-#: gnu/packages.scm:73
+#: gnu.scm:82
+#, scheme-format
+msgid "module ~a not found"
+msgstr "未找到模块 ~a"
+
+#: gnu.scm:100
+msgid ""
+"You may use @command{guix package --show=foo | grep location} to search\n"
+"for the location of package @code{foo}.\n"
+"If you get the line @code{location: gnu/packages/bar.scm:174:2},\n"
+"add @code{bar} to the @code{use-package-modules} form."
+msgstr ""
+
+#: gnu.scm:108
+#, scheme-format
+msgid "Try adding @code{(use-package-modules ~a)}."
+msgstr ""
+
+#: gnu.scm:123
+#, scheme-format
+msgid ""
+"You may use @command{guix system search ~a} to search for a service\n"
+"matching @code{~a}.\n"
+"If you get the line @code{location: gnu/services/foo.scm:188:2},\n"
+"add @code{foo} to the @code{use-service-modules} form."
+msgstr ""
+
+#: gnu.scm:132
+#, scheme-format
+msgid "Try adding @code{(use-service-modules ~a)}."
+msgstr ""
+
+#: gnu/packages.scm:92
 #, scheme-format
 msgid "~a: patch not found"
 msgstr "~a: 未找到补丁"
 
-#: gnu/packages.scm:84
+#: gnu/packages.scm:108
 #, scheme-format
 msgid "could not find bootstrap binary '~a' for system '~a'"
 msgstr "无法找到引导二进制 '~a',用于系统 '~a'"
 
-#: gnu/packages.scm:136
-#, scheme-format
-msgid "cannot access `~a': ~a~%"
-msgstr "无法访问 `~a': ~a~%"
-
-#: gnu/packages.scm:289
+#: gnu/packages.scm:240
 #, scheme-format
 msgid "ambiguous package specification `~a'~%"
 msgstr "含糊的软件包规范 `~a'~%"
 
-#: gnu/packages.scm:290
-#, scheme-format
-msgid "choosing ~a from ~a~%"
+#: gnu/packages.scm:241
+#, fuzzy, scheme-format
+#| msgid "choosing ~a from ~a~%"
+msgid "choosing ~a@~a from ~a~%"
 msgstr "选择 ~a,从 ~a~%"
 
-#: gnu/packages.scm:294
-#, scheme-format
-msgid "deprecated NAME-VERSION syntax.~%"
-msgstr ""
+#: gnu/packages.scm:246 guix/scripts/package.scm:271
+#, fuzzy, scheme-format
+#| msgid "package `~a' lacks output `~a'~%"
+msgid "package '~a' has been superseded by '~a'~%"
+msgstr "包 `~a' 缺乏输出 `~a'~%"
 
-#: gnu/packages.scm:298
+#: gnu/packages.scm:253
 #, scheme-format
 msgid "~A: package not found for version ~a~%"
 msgstr "~A: 无法找到供版本 ~a~% 的软件包"
 
-#: gnu/packages.scm:305
+#: gnu/packages.scm:254
 #, scheme-format
 msgid "~A: unknown package~%"
 msgstr "~A: 未知包~%"
 
-#: gnu/packages.scm:333
+#: gnu/packages.scm:282
 #, scheme-format
 msgid "package `~a' lacks output `~a'~%"
 msgstr "包 `~a' 缺乏输出 `~a'~%"
 
-#: gnu/services.scm:527
+#: gnu/services.scm:235
+#, scheme-format
+msgid "~a: no value specified for service of type '~a'"
+msgstr ""
+
+#: gnu/services.scm:650
 #, scheme-format
-msgid "no target of type '~a' for service ~s"
+msgid "no target of type '~a' for service '~a'"
 msgstr ""
 
-#: gnu/services.scm:538 gnu/services.scm:599
+#: gnu/services.scm:662 gnu/services.scm:723
 #, scheme-format
 msgid "more than one target service of type '~a'"
 msgstr ""
 
-#: gnu/services.scm:589
+#: gnu/services.scm:713
 #, scheme-format
 msgid "service of type '~a' not found"
 msgstr ""
 
-#: gnu/system.scm:546
+#: gnu/system.scm:305
+#, scheme-format
+msgid "unrecognized boot parameters for '~a'~%"
+msgstr ""
+
+#: gnu/system.scm:695
 #, scheme-format
 msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%"
 msgstr ""
 
-#: gnu/system.scm:562
+#: gnu/system.scm:711
 #, scheme-format
 msgid "using a monadic value for '~a' is deprecated; use 'plain-file' instead~%"
 msgstr ""
 
-#: gnu/system.scm:679
+#: gnu/system.scm:856
 #, fuzzy, scheme-format
 #| msgid "~a: invalid number~%"
 msgid "~a: invalid locale name"
 msgstr "~a: 无效的数字~%"
 
-#: gnu/system.scm:798
-#, scheme-format
-msgid "unrecognized boot parameters for '~a'~%"
-msgstr ""
-
 #: gnu/services/shepherd.scm:166
 #, scheme-format
 msgid "service '~a' provided more than once"
@@ -106,63 +142,82 @@ msgstr ""
 
 #: gnu/services/shepherd.scm:181
 #, scheme-format
-msgid "service '~a' requires '~a', which is undefined"
+msgid "service '~a' requires '~a', which is not provided by any service"
 msgstr ""
 
-#: gnu/system/shadow.scm:213
+#: gnu/system/shadow.scm:231
 #, scheme-format
 msgid "supplementary group '~a' of user '~a' is undeclared"
 msgstr ""
 
-#: gnu/system/shadow.scm:223
+#: gnu/system/shadow.scm:241
 #, scheme-format
 msgid "primary group '~a' of user '~a' is undeclared"
 msgstr ""
 
-#: guix/scripts.scm:52
+#: guix/scripts.scm:56
 #, scheme-format
 msgid "invalid argument: ~a~%"
 msgstr "无效参数: ~a~%"
 
-#: guix/scripts.scm:78 guix/scripts/download.scm:97 guix/scripts/gc.scm:157
-#: guix/scripts/import/cran.scm:78 guix/scripts/import/elpa.scm:77
-#: guix/scripts/pull.scm:219 guix/scripts/lint.scm:874
-#: guix/scripts/publish.scm:354 guix/scripts/graph.scm:346
+#: guix/scripts.scm:84 guix/scripts/download.scm:135
+#: guix/scripts/import/cran.scm:82 guix/scripts/import/elpa.scm:77
+#: guix/scripts/publish.scm:844 guix/scripts/edit.scm:81
 #, scheme-format
 msgid "~A: unrecognized option~%"
 msgstr "~A: 无法识别的选项~%"
 
-#: guix/scripts/build.scm:112
+#: guix/scripts.scm:179
+#, scheme-format
+msgid "Your Guix installation is ~a day old.\n"
+msgid_plural "Your Guix installation is ~a days old.\n"
+msgstr[0] ""
+
+#: guix/scripts.scm:184
+#, scheme-format
+msgid ""
+"Consider running 'guix pull' followed by\n"
+"'~a' to get up-to-date packages and security updates.\n"
+msgstr ""
+
+#: guix/scripts/build.scm:124
 #, scheme-format
 msgid "failed to create GC root `~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/build.scm:189
+#: guix/scripts/build.scm:206
 #, fuzzy, scheme-format
 #| msgid "ambiguous package specification `~a'~%"
 msgid "invalid replacement specification: ~s~%"
 msgstr "含糊的软件包规范 `~a'~%"
 
-#: guix/scripts/build.scm:237
+#: guix/scripts/build.scm:263
 msgid ""
 "\n"
 "      --with-source=SOURCE\n"
 "                         use SOURCE when building the corresponding package"
 msgstr ""
 
-#: guix/scripts/build.scm:240
+#: guix/scripts/build.scm:266
 msgid ""
 "\n"
 "      --with-input=PACKAGE=REPLACEMENT\n"
 "                         replace dependency PACKAGE by REPLACEMENT"
 msgstr ""
 
-#: guix/scripts/build.scm:265
+#: guix/scripts/build.scm:269
+msgid ""
+"\n"
+"      --with-graft=PACKAGE=REPLACEMENT\n"
+"                         graft REPLACEMENT on packages that refer to PACKAGE"
+msgstr ""
+
+#: guix/scripts/build.scm:294
 #, scheme-format
 msgid "transformation '~a' had no effect on ~a~%"
 msgstr ""
 
-#: guix/scripts/build.scm:283
+#: guix/scripts/build.scm:312
 msgid ""
 "\n"
 "  -L, --load-path=DIR    prepend DIR to the package module search path"
@@ -170,7 +225,7 @@ msgstr ""
 "\n"
 "  -L, --load-path=目录   将 <目录> 加入到软件包模块搜索目录之前"
 
-#: guix/scripts/build.scm:285
+#: guix/scripts/build.scm:314
 msgid ""
 "\n"
 "  -K, --keep-failed      keep build tree of failed builds"
@@ -178,7 +233,7 @@ msgstr ""
 "\n"
 "  -K, --keep-failed      保留失败构建的构建树"
 
-#: guix/scripts/build.scm:287
+#: guix/scripts/build.scm:316
 #, fuzzy
 #| msgid ""
 #| "\n"
@@ -190,7 +245,7 @@ msgstr ""
 "\n"
 "  -n, --dry-run          不要构建派生包"
 
-#: guix/scripts/build.scm:289
+#: guix/scripts/build.scm:318
 msgid ""
 "\n"
 "  -n, --dry-run          do not build the derivations"
@@ -198,7 +253,7 @@ msgstr ""
 "\n"
 "  -n, --dry-run          不要构建派生包"
 
-#: guix/scripts/build.scm:291
+#: guix/scripts/build.scm:320
 msgid ""
 "\n"
 "      --fallback         fall back to building when the substituter fails"
@@ -206,7 +261,7 @@ msgstr ""
 "\n"
 "      --fallback         如果替换器失败,回落到构建"
 
-#: guix/scripts/build.scm:293
+#: guix/scripts/build.scm:322
 msgid ""
 "\n"
 "      --no-substitutes   build instead of resorting to pre-built substitutes"
@@ -214,7 +269,7 @@ msgstr ""
 "\n"
 "      --no-substitutes   构建而不使用预先构建的替代品"
 
-#: guix/scripts/build.scm:295 guix/scripts/size.scm:215
+#: guix/scripts/build.scm:324 guix/scripts/size.scm:232
 msgid ""
 "\n"
 "      --substitute-urls=URLS\n"
@@ -224,93 +279,93 @@ msgstr ""
 "      --substitute-urls=URLS\n"
 "                         从 URLS 获取替代品,如果这些链接被授权的话"
 
-#: guix/scripts/build.scm:298
+#: guix/scripts/build.scm:327
 msgid ""
 "\n"
 "      --no-grafts        do not graft packages"
 msgstr ""
 
-#: guix/scripts/build.scm:300
+#: guix/scripts/build.scm:329
 msgid ""
 "\n"
 "      --no-build-hook    do not attempt to offload builds via the build hook"
 msgstr ""
 
-#: guix/scripts/build.scm:302
+#: guix/scripts/build.scm:331
 msgid ""
 "\n"
 "      --max-silent-time=SECONDS\n"
 "                         mark the build as failed after SECONDS of silence"
 msgstr ""
 
-#: guix/scripts/build.scm:305
+#: guix/scripts/build.scm:334
 msgid ""
 "\n"
 "      --timeout=SECONDS  mark the build as failed after SECONDS of activity"
 msgstr ""
 
-#: guix/scripts/build.scm:307
+#: guix/scripts/build.scm:336
 msgid ""
 "\n"
 "      --verbosity=LEVEL  use the given verbosity LEVEL"
 msgstr ""
 
-#: guix/scripts/build.scm:309
+#: guix/scripts/build.scm:338
 msgid ""
 "\n"
 "      --rounds=N         build N times in a row to detect non-determinism"
 msgstr ""
 
-#: guix/scripts/build.scm:311
+#: guix/scripts/build.scm:340
 msgid ""
 "\n"
 "  -c, --cores=N          allow the use of up to N CPU cores for the build"
 msgstr ""
 
-#: guix/scripts/build.scm:313
+#: guix/scripts/build.scm:342
 msgid ""
 "\n"
 "  -M, --max-jobs=N       allow at most N build jobs"
 msgstr ""
 
-#: guix/scripts/build.scm:419 guix/scripts/build.scm:426
+#: guix/scripts/build.scm:448 guix/scripts/build.scm:455
 #, scheme-format
 msgid "not a number: '~a' option argument: ~a~%"
 msgstr ""
 
-#: guix/scripts/build.scm:446
+#: guix/scripts/build.scm:474
 msgid ""
 "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n"
 "Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"
 msgstr ""
 
-#: guix/scripts/build.scm:448
+#: guix/scripts/build.scm:476
 msgid ""
 "\n"
 "  -e, --expression=EXPR  build the package or derivation EXPR evaluates to"
 msgstr ""
 
-#: guix/scripts/build.scm:450
+#: guix/scripts/build.scm:478
 msgid ""
 "\n"
 "  -f, --file=FILE        build the package or derivation that the code within\n"
 "                         FILE evaluates to"
 msgstr ""
 
-#: guix/scripts/build.scm:453
+#: guix/scripts/build.scm:481
 msgid ""
 "\n"
 "  -S, --source           build the packages' source derivations"
 msgstr ""
 
-#: guix/scripts/build.scm:455
+#: guix/scripts/build.scm:483
 msgid ""
 "\n"
 "      --sources[=TYPE]   build source derivations; TYPE may optionally be one\n"
 "                         of \"package\", \"all\" (default), or \"transitive\""
 msgstr ""
 
-#: guix/scripts/build.scm:458
+#: guix/scripts/build.scm:486 guix/scripts/pack.scm:338
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    attempt to build for SYSTEM--e.g., \"i686-linux\""
@@ -318,46 +373,66 @@ msgstr ""
 "\n"
 "  -s, --system=系统      尝试为 <系统> 构建包——比如,\"i686-linux\""
 
-#: guix/scripts/build.scm:460
+#: guix/scripts/build.scm:488 guix/scripts/pack.scm:340
 msgid ""
 "\n"
 "      --target=TRIPLET   cross-build for TRIPLET--e.g., \"armel-linux-gnu\""
 msgstr ""
 
-#: guix/scripts/build.scm:462
+#: guix/scripts/build.scm:490
 msgid ""
 "\n"
 "  -d, --derivations      return the derivation paths of the given packages"
 msgstr ""
 
-#: guix/scripts/build.scm:464
+#: guix/scripts/build.scm:492
 msgid ""
 "\n"
 "      --check            rebuild items to check for non-determinism issues"
 msgstr ""
 
-#: guix/scripts/build.scm:466
+#: guix/scripts/build.scm:494
+msgid ""
+"\n"
+"      --repair           repair the specified items"
+msgstr ""
+
+#: guix/scripts/build.scm:496
 msgid ""
 "\n"
 "  -r, --root=FILE        make FILE a symlink to the result, and register it\n"
 "                         as a garbage collector root"
 msgstr ""
 
-#: guix/scripts/build.scm:469
+#: guix/scripts/build.scm:499
+#, fuzzy
+#| msgid ""
+#| "\n"
+#| "  -n, --dry-run          do not build the derivations"
+msgid ""
+"\n"
+"  -q, --quiet            do not show the build log"
+msgstr ""
+"\n"
+"  -n, --dry-run          不要构建派生包"
+
+#: guix/scripts/build.scm:501
 msgid ""
 "\n"
 "      --log-file         return the log file names for the given derivations"
 msgstr ""
 
-#: guix/scripts/build.scm:476 guix/scripts/download.scm:54
-#: guix/scripts/package.scm:386 guix/scripts/gc.scm:70
-#: guix/scripts/hash.scm:56 guix/scripts/import.scm:91
-#: guix/scripts/import/cran.scm:46 guix/scripts/pull.scm:83
-#: guix/scripts/substitute.scm:758 guix/scripts/system.scm:631
-#: guix/scripts/lint.scm:823 guix/scripts/publish.scm:63
-#: guix/scripts/edit.scm:44 guix/scripts/size.scm:223
-#: guix/scripts/graph.scm:327 guix/scripts/challenge.scm:181
-#: guix/scripts/container.scm:33 guix/scripts/container/exec.scm:43
+#: guix/scripts/build.scm:508 guix/scripts/download.scm:83
+#: guix/scripts/package.scm:425 guix/scripts/gc.scm:74
+#: guix/scripts/hash.scm:59 guix/scripts/import.scm:92
+#: guix/scripts/import/cran.scm:47 guix/scripts/pull.scm:110
+#: guix/scripts/substitute.scm:889 guix/scripts/system.scm:870
+#: guix/scripts/lint.scm:1090 guix/scripts/publish.scm:94
+#: guix/scripts/edit.scm:44 guix/scripts/size.scm:243
+#: guix/scripts/graph.scm:432 guix/scripts/challenge.scm:241
+#: guix/scripts/copy.scm:122 guix/scripts/pack.scm:349
+#: guix/scripts/weather.scm:156 guix/scripts/container.scm:33
+#: guix/scripts/container/exec.scm:43
 msgid ""
 "\n"
 "  -h, --help             display this help and exit"
@@ -365,15 +440,17 @@ msgstr ""
 "\n"
 "  -h, --help                 显示这份说明然后离开"
 
-#: guix/scripts/build.scm:478 guix/scripts/download.scm:56
-#: guix/scripts/package.scm:388 guix/scripts/gc.scm:72
-#: guix/scripts/hash.scm:58 guix/scripts/import.scm:93
-#: guix/scripts/import/cran.scm:48 guix/scripts/pull.scm:85
-#: guix/scripts/substitute.scm:760 guix/scripts/system.scm:633
-#: guix/scripts/lint.scm:827 guix/scripts/publish.scm:65
-#: guix/scripts/edit.scm:46 guix/scripts/size.scm:225
-#: guix/scripts/graph.scm:329 guix/scripts/challenge.scm:183
-#: guix/scripts/container.scm:35 guix/scripts/container/exec.scm:45
+#: guix/scripts/build.scm:510 guix/scripts/download.scm:85
+#: guix/scripts/package.scm:427 guix/scripts/gc.scm:76
+#: guix/scripts/hash.scm:61 guix/scripts/import.scm:94
+#: guix/scripts/import/cran.scm:49 guix/scripts/pull.scm:112
+#: guix/scripts/substitute.scm:891 guix/scripts/system.scm:872
+#: guix/scripts/lint.scm:1094 guix/scripts/publish.scm:96
+#: guix/scripts/edit.scm:46 guix/scripts/size.scm:245
+#: guix/scripts/graph.scm:434 guix/scripts/challenge.scm:243
+#: guix/scripts/copy.scm:124 guix/scripts/pack.scm:351
+#: guix/scripts/weather.scm:158 guix/scripts/container.scm:35
+#: guix/scripts/container/exec.scm:45
 msgid ""
 "\n"
 "  -V, --version          display version information and exit"
@@ -381,143 +458,171 @@ msgstr ""
 "\n"
 "  -v, --version              显示程序版本然后离开"
 
-#: guix/scripts/build.scm:505
+#: guix/scripts/build.scm:537
 #, scheme-format
 msgid ""
 "invalid argument: '~a' option argument: ~a, ~\n"
 "must be one of 'package', 'all', or 'transitive'~%"
 msgstr ""
 
-#: guix/scripts/build.scm:549
+#: guix/scripts/build.scm:590
 #, scheme-format
 msgid "~s: not something we can build~%"
 msgstr ""
 
-#: guix/scripts/build.scm:629
+#: guix/scripts/build.scm:644
+#, scheme-format
+msgid "~a: warning: package '~a' has no source~%"
+msgstr ""
+
+#: guix/scripts/build.scm:678
 #, scheme-format
 msgid "no build log for '~a'~%"
 msgstr ""
 
-#: guix/scripts/download.scm:45
+#: guix/discovery.scm:88
+#, scheme-format
+msgid "cannot access `~a': ~a~%"
+msgstr "无法访问 `~a': ~a~%"
+
+#: guix/scripts/download.scm:69
 msgid ""
 "Usage: guix download [OPTION] URL\n"
-"Download the file at URL, add it to the store, and print its store path\n"
-"and the hash of its contents.\n"
+"Download the file at URL to the store or to the given file, and print its\n"
+"file name and the hash of its contents.\n"
 "\n"
 "Supported formats: 'nix-base32' (default), 'base32', and 'base16'\n"
 "('hex' and 'hexadecimal' can be used as well).\n"
 msgstr ""
 
-#: guix/scripts/download.scm:51 guix/scripts/hash.scm:51
+#: guix/scripts/download.scm:75 guix/scripts/hash.scm:54
 msgid ""
 "\n"
 "  -f, --format=FMT       write the hash in the given format"
 msgstr ""
 
-#: guix/scripts/download.scm:74 guix/scripts/hash.scm:76
+#: guix/scripts/download.scm:77
+msgid ""
+"\n"
+"      --no-check-certificate\n"
+"                         do not validate the certificate of HTTPS servers "
+msgstr ""
+
+#: guix/scripts/download.scm:80
+msgid ""
+"\n"
+"  -o, --output=FILE      download to FILE"
+msgstr ""
+
+#: guix/scripts/download.scm:103 guix/scripts/hash.scm:82
 #, scheme-format
 msgid "unsupported hash format: ~a~%"
 msgstr ""
 
-#: guix/scripts/download.scm:100 guix/scripts/package.scm:836
-#: guix/scripts/publish.scm:356
+#: guix/scripts/download.scm:138 guix/scripts/package.scm:906
+#: guix/scripts/publish.scm:846
 #, scheme-format
 msgid "~A: extraneous argument~%"
 msgstr ""
 
-#: guix/scripts/download.scm:109
+#: guix/scripts/download.scm:146
 #, scheme-format
 msgid "no download URI was specified~%"
 msgstr ""
 
-#: guix/scripts/download.scm:111
+#: guix/scripts/download.scm:151
 #, scheme-format
 msgid "~a: failed to parse URI~%"
 msgstr ""
 
-#: guix/scripts/download.scm:122
+#: guix/scripts/download.scm:161
 #, scheme-format
 msgid "~a: download failed~%"
-msgstr ""
+msgstr "~a:下载失败~%"
 
-#: guix/scripts/package.scm:103
+#: guix/scripts/package.scm:112
 #, scheme-format
 msgid "Try \"info '(guix) Invoking guix package'\" for more information.~%"
 msgstr ""
 
-#: guix/scripts/package.scm:125
+#: guix/scripts/package.scm:134
 #, scheme-format
 msgid "error: while creating directory `~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/package.scm:129
+#: guix/scripts/package.scm:138
 #, scheme-format
 msgid "Please create the `~a' directory, with you as the owner.~%"
 msgstr ""
 
-#: guix/scripts/package.scm:136
+#: guix/scripts/package.scm:145
 #, scheme-format
 msgid "error: directory `~a' is not owned by you~%"
 msgstr ""
 
-#: guix/scripts/package.scm:139
+#: guix/scripts/package.scm:148
 #, scheme-format
 msgid "Please change the owner of `~a' to user ~s.~%"
 msgstr ""
 
-#: guix/scripts/package.scm:174
+#: guix/scripts/package.scm:183
 #, scheme-format
 msgid "not removing generation ~a, which is current~%"
 msgstr ""
 
-#: guix/scripts/package.scm:181
+#: guix/scripts/package.scm:190
 #, scheme-format
 msgid "no matching generation~%"
 msgstr ""
 
-#: guix/scripts/package.scm:184 guix/scripts/package.scm:657
-#: guix/scripts/system.scm:459
+#: guix/scripts/package.scm:193 guix/scripts/package.scm:716
+#: guix/scripts/system.scm:558
 #, scheme-format
 msgid "invalid syntax: ~a~%"
 msgstr "无效语法: ~a~%"
 
-#: guix/scripts/package.scm:209
+#: guix/scripts/package.scm:219
 #, scheme-format
 msgid "nothing to be done~%"
 msgstr ""
 
-#: guix/scripts/package.scm:223
+#: guix/scripts/package.scm:233
 #, scheme-format
 msgid "~a package in profile~%"
 msgid_plural "~a packages in profile~%"
 msgstr[0] ""
 
-#: guix/scripts/package.scm:311
+#: guix/scripts/package.scm:313
+#, scheme-format
+msgid "package '~a' no longer exists~%"
+msgstr "软件包“~a”已不再存在~%"
+
+#: guix/scripts/package.scm:351
 #, scheme-format
 msgid "The following environment variable definitions may be needed:~%"
 msgstr ""
 
-#: guix/scripts/package.scm:327
+#: guix/scripts/package.scm:366
 msgid ""
 "Usage: guix package [OPTION]...\n"
 "Install, remove, or upgrade packages in a single transaction.\n"
 msgstr ""
 
-#: guix/scripts/package.scm:329
+#: guix/scripts/package.scm:368
 msgid ""
 "\n"
 "  -i, --install PACKAGE ...\n"
 "                         install PACKAGEs"
 msgstr ""
 
-#: guix/scripts/package.scm:332
+#: guix/scripts/package.scm:371
 msgid ""
 "\n"
 "  -e, --install-from-expression=EXP\n"
 "                         install the package EXP evaluates to"
 msgstr ""
 
-#: guix/scripts/package.scm:335
+#: guix/scripts/package.scm:374
 msgid ""
 "\n"
 "  -f, --install-from-file=FILE\n"
@@ -525,188 +630,204 @@ msgid ""
 "                         evaluates to"
 msgstr ""
 
-#: guix/scripts/package.scm:339
+#: guix/scripts/package.scm:378
 msgid ""
 "\n"
 "  -r, --remove PACKAGE ...\n"
 "                         remove PACKAGEs"
 msgstr ""
 
-#: guix/scripts/package.scm:342
+#: guix/scripts/package.scm:381
 msgid ""
 "\n"
 "  -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:344
+#: guix/scripts/package.scm:383
 msgid ""
 "\n"
 "  -m, --manifest=FILE    create a new profile generation with the manifest\n"
 "                         from FILE"
 msgstr ""
 
-#: guix/scripts/package.scm:347
+#: guix/scripts/package.scm:386
 msgid ""
 "\n"
 "      --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:349
+#: guix/scripts/package.scm:388
 msgid ""
 "\n"
 "      --roll-back        roll back to the previous generation"
 msgstr ""
 
-#: guix/scripts/package.scm:351
+#: guix/scripts/package.scm:390
 msgid ""
 "\n"
 "      --search-paths[=KIND]\n"
 "                         display needed environment variable definitions"
 msgstr ""
 
-#: guix/scripts/package.scm:354
+#: guix/scripts/package.scm:393
 msgid ""
 "\n"
 "  -l, --list-generations[=PATTERN]\n"
 "                         list generations matching PATTERN"
 msgstr ""
 
-#: guix/scripts/package.scm:357
+#: guix/scripts/package.scm:396
 msgid ""
 "\n"
 "  -d, --delete-generations[=PATTERN]\n"
 "                         delete generations matching PATTERN"
 msgstr ""
 
-#: guix/scripts/package.scm:360
+#: guix/scripts/package.scm:399
 msgid ""
 "\n"
 "  -S, --switch-generation=PATTERN\n"
 "                         switch to a generation matching PATTERN"
 msgstr ""
 
-#: guix/scripts/package.scm:363
+#: guix/scripts/package.scm:402
 msgid ""
 "\n"
 "  -p, --profile=PROFILE  use PROFILE instead of the user's default profile"
 msgstr ""
 
-#: guix/scripts/package.scm:366
+#: guix/scripts/package.scm:405
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap Guile to build the profile"
 msgstr ""
 
-#: guix/scripts/package.scm:368 guix/scripts/pull.scm:76
+#: guix/scripts/package.scm:407 guix/scripts/pull.scm:98
 msgid ""
 "\n"
 "      --verbose          produce verbose output"
 msgstr ""
 "\n"
-"      --verbose          生成详细啰嗦的输出"
+"      --verbose          生成详细的输出"
 
-#: guix/scripts/package.scm:371
+#: guix/scripts/package.scm:410
 msgid ""
 "\n"
 "  -s, --search=REGEXP    search in synopsis and description using REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:373
+#: guix/scripts/package.scm:412
 msgid ""
 "\n"
 "  -I, --list-installed[=REGEXP]\n"
 "                         list installed packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:376
+#: guix/scripts/package.scm:415
 msgid ""
 "\n"
 "  -A, --list-available[=REGEXP]\n"
 "                         list available packages matching REGEXP"
 msgstr ""
 
-#: guix/scripts/package.scm:379
+#: guix/scripts/package.scm:418
 msgid ""
 "\n"
 "      --show=PACKAGE     show details about PACKAGE"
 msgstr ""
 
-#: guix/scripts/package.scm:474
+#: guix/scripts/package.scm:470
+#, scheme-format
+msgid "upgrade regexp '~a' looks like a command-line option~%"
+msgstr ""
+
+#: guix/scripts/package.scm:473
+#, scheme-format
+msgid "is this intended?~%"
+msgstr ""
+
+#: guix/scripts/package.scm:518
 #, scheme-format
 msgid "~a: unsupported kind of search path~%"
 msgstr ""
 
-#: guix/scripts/package.scm:753
+#: guix/scripts/package.scm:815
 #, scheme-format
 msgid "cannot switch to generation '~a'~%"
 msgstr ""
 
-#: guix/scripts/package.scm:769
+#: guix/scripts/package.scm:831
 #, scheme-format
 msgid "would install new manifest from '~a' with ~d entries~%"
 msgstr ""
 
-#: guix/scripts/package.scm:771
+#: guix/scripts/package.scm:833
 #, scheme-format
 msgid "installing new manifest from '~a' with ~d entries~%"
 msgstr ""
 
-#: guix/scripts/gc.scm:40
+#: guix/scripts/gc.scm:42
 msgid ""
 "Usage: guix gc [OPTION]... PATHS...\n"
 "Invoke the garbage collector.\n"
 msgstr ""
 
-#: guix/scripts/gc.scm:42
+#: guix/scripts/gc.scm:44
 msgid ""
 "\n"
 "  -C, --collect-garbage[=MIN]\n"
 "                         collect at least MIN bytes of garbage"
 msgstr ""
 
-#: guix/scripts/gc.scm:45
+#: guix/scripts/gc.scm:47
+msgid ""
+"\n"
+"  -F, --free-space=FREE  attempt to reach FREE available space in the store"
+msgstr ""
+
+#: guix/scripts/gc.scm:49
 msgid ""
 "\n"
 "  -d, --delete           attempt to delete PATHS"
 msgstr ""
 
-#: guix/scripts/gc.scm:47
+#: guix/scripts/gc.scm:51
 msgid ""
 "\n"
 "      --optimize         optimize the store by deduplicating identical files"
 msgstr ""
 
-#: guix/scripts/gc.scm:49
+#: guix/scripts/gc.scm:53
 msgid ""
 "\n"
 "      --list-dead        list dead paths"
 msgstr ""
 
-#: guix/scripts/gc.scm:51
+#: guix/scripts/gc.scm:55
 msgid ""
 "\n"
 "      --list-live        list live paths"
 msgstr ""
 
-#: guix/scripts/gc.scm:54
+#: guix/scripts/gc.scm:58
 msgid ""
 "\n"
 "      --references       list the references of PATHS"
 msgstr ""
 
-#: guix/scripts/gc.scm:56
+#: guix/scripts/gc.scm:60
 msgid ""
 "\n"
 "  -R, --requisites       list the requisites of PATHS"
 msgstr ""
 
-#: guix/scripts/gc.scm:58
+#: guix/scripts/gc.scm:62
 msgid ""
 "\n"
 "      --referrers        list the referrers of PATHS"
 msgstr ""
 
-#: guix/scripts/gc.scm:61
+#: guix/scripts/gc.scm:65
 msgid ""
 "\n"
 "      --verify[=OPTS]    verify the integrity of the store; OPTS is a\n"
@@ -714,30 +835,42 @@ msgid ""
 "                         'contents'"
 msgstr ""
 
-#: guix/scripts/gc.scm:65
+#: guix/scripts/gc.scm:69
 msgid ""
 "\n"
 "      --list-failures    list cached build failures"
 msgstr ""
 
-#: guix/scripts/gc.scm:67
+#: guix/scripts/gc.scm:71
 msgid ""
 "\n"
 "      --clear-failures   remove PATHS from the set of cached failures"
 msgstr ""
 
-#: guix/scripts/gc.scm:96
+#: guix/scripts/gc.scm:100
 #, scheme-format
 msgid "invalid amount of storage: ~a~%"
 msgstr ""
 
-#: guix/scripts/gc.scm:187
+#: guix/scripts/gc.scm:185
+msgid "already ~h bytes available on ~a, nothing to do~%"
+msgstr ""
+
+#: guix/scripts/gc.scm:188
+msgid "freeing ~h bytes~%"
+msgstr ""
+
+#: guix/scripts/gc.scm:200
 #, fuzzy, scheme-format
 #| msgid "invalid argument: ~a~%"
 msgid "extraneous arguments: ~{~a ~}~%"
 msgstr "无效参数: ~a~%"
 
-#: guix/scripts/hash.scm:46
+#: guix/scripts/gc.scm:220 guix/scripts/gc.scm:223
+msgid "freed ~h bytes~%"
+msgstr ""
+
+#: guix/scripts/hash.scm:47
 msgid ""
 "Usage: guix hash [OPTION] FILE\n"
 "Return the cryptographic hash of FILE.\n"
@@ -746,70 +879,78 @@ msgid ""
 "and 'hexadecimal' can be used as well).\n"
 msgstr ""
 
-#: guix/scripts/hash.scm:53
+#: guix/scripts/hash.scm:52
 msgid ""
 "\n"
-"  -r, --recursive        compute the hash on FILE recursively"
+"  -x, --exclude-vcs      exclude version control directories"
 msgstr ""
 
-#: guix/scripts/hash.scm:104
-#, scheme-format
-msgid "unrecognized option: ~a~%"
-msgstr "无法识别的选项: ~a~%"
+#: guix/scripts/hash.scm:56
+msgid ""
+"\n"
+"  -r, --recursive        compute the hash on FILE recursively"
+msgstr ""
 
-#: guix/scripts/hash.scm:135 guix/ui.scm:460
+#: guix/scripts/hash.scm:150 guix/ui.scm:326 guix/ui.scm:601 guix/ui.scm:654
 #, scheme-format
 msgid "~a~%"
 msgstr ""
 
-#: guix/scripts/hash.scm:138 guix/scripts/system.scm:761
+#: guix/scripts/hash.scm:153 guix/scripts/system.scm:1022
+#: guix/scripts/system.scm:1031 guix/scripts/system.scm:1038
 #, scheme-format
 msgid "wrong number of arguments~%"
 msgstr ""
 
-#: guix/scripts/import.scm:85
+#: guix/scripts/import.scm:86
 msgid ""
 "Usage: guix import IMPORTER ARGS ...\n"
 "Run IMPORTER with ARGS.\n"
 msgstr ""
 
-#: guix/scripts/import.scm:88
+#: guix/scripts/import.scm:89
 msgid "IMPORTER must be one of the importers listed below:\n"
 msgstr ""
 
-#: guix/scripts/import.scm:102
+#: guix/scripts/import.scm:103
 #, scheme-format
 msgid "guix import: missing importer name~%"
 msgstr ""
 
-#: guix/scripts/import.scm:113
+#: guix/scripts/import.scm:123
 #, scheme-format
-msgid "guix import: invalid importer~%"
+msgid "'~a' import failed~%"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:42
+#: guix/scripts/import.scm:124
+#, fuzzy, scheme-format
+#| msgid "~a: invalid number~%"
+msgid "~a: invalid importer~%"
+msgstr "~a: 无效的数字~%"
+
+#: guix/scripts/import/cran.scm:43
 msgid ""
 "Usage: guix import cran PACKAGE-NAME\n"
 "Import and convert the CRAN package for PACKAGE-NAME.\n"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:44
+#: guix/scripts/import/cran.scm:45
 msgid ""
 "\n"
 "  -a, --archive=ARCHIVE  specify the archive repository"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:94
+#: guix/scripts/import/cran.scm:108
 #, scheme-format
 msgid "failed to download description for package '~a'~%"
 msgstr ""
 
-#: guix/scripts/import/cran.scm:98 guix/scripts/import/elpa.scm:95
+#: guix/scripts/import/cran.scm:112 guix/scripts/import/elpa.scm:95
 #, scheme-format
 msgid "too few arguments~%"
 msgstr "太少参数~%"
 
-#: guix/scripts/import/cran.scm:100 guix/scripts/import/elpa.scm:97
+#: guix/scripts/import/cran.scm:114 guix/scripts/import/elpa.scm:97
 #, scheme-format
 msgid "too many arguments~%"
 msgstr "太多参数~%"
@@ -847,159 +988,212 @@ msgstr ""
 msgid "failed to download package '~a'~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:74
+#: guix/scripts/pull.scm:60
+#, scheme-format
+msgid ""
+"Guile-Git is missing but it is now required by 'guix pull'.\n"
+"Install it by running:\n"
+"\n"
+"  guix package -i ~a\n"
+"  export GUILE_LOAD_PATH=$HOME/.guix-profile/share/guile/site/~a:$GUILE_LOAD_PATH\n"
+"  export GUILE_LOAD_COMPILED_PATH=$HOME/.guix-profile/lib/guile/~a/site-ccache:$GUILE_LOAD_COMPILED_PATH\n"
+"\n"
+msgstr ""
+
+#: guix/scripts/pull.scm:96
 msgid ""
 "Usage: guix pull [OPTION]...\n"
 "Download and deploy the latest version of Guix.\n"
 msgstr ""
 
-#: guix/scripts/pull.scm:78
+#: guix/scripts/pull.scm:100
 msgid ""
 "\n"
-"      --url=URL          download the Guix tarball from URL"
+"      --url=URL          download from the Git repository at URL"
 msgstr ""
 
-#: guix/scripts/pull.scm:80
+#: guix/scripts/pull.scm:102
 msgid ""
 "\n"
-"      --bootstrap        use the bootstrap Guile to build the new Guix"
+"      --commit=COMMIT    download the specified COMMIT"
 msgstr ""
 
-#: guix/scripts/pull.scm:134
-msgid "tarball did not produce a single source directory"
-msgstr ""
-
-#: guix/scripts/pull.scm:152
-#, scheme-format
-msgid "unpacking '~a'...~%"
+#: guix/scripts/pull.scm:104
+msgid ""
+"\n"
+"      --branch=BRANCH    download the tip of the specified BRANCH"
 msgstr ""
 
-#: guix/scripts/pull.scm:161
-msgid "failed to unpack source code"
+#: guix/scripts/pull.scm:106
+msgid ""
+"\n"
+"      --bootstrap        use the bootstrap Guile to build the new Guix"
 msgstr ""
 
-#: guix/scripts/pull.scm:204
+#: guix/scripts/pull.scm:192
 msgid "Guix already up to date\n"
 msgstr ""
 
-#: guix/scripts/pull.scm:209
+#: guix/scripts/pull.scm:197
 #, scheme-format
 msgid "updated ~a successfully deployed under `~a'~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:212
+#: guix/scripts/pull.scm:200
 #, scheme-format
 msgid "failed to update Guix, check the build log~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:221
+#: guix/scripts/pull.scm:216
 #, scheme-format
-msgid "~A: unexpected argument~%"
-msgstr "~A: 未预期的参数~%"
+msgid "cannot enforce use of the Let's Encrypt certificates~%"
+msgstr ""
+
+#: guix/scripts/pull.scm:218
+#, scheme-format
+msgid "please upgrade Guile-Git~%"
+msgstr "请升级 Guile-Git~%"
+
+#: guix/scripts/pull.scm:226
+#, scheme-format
+msgid "Git error ~a~%"
+msgstr "Git 错误 ~a~%"
+
+#: guix/scripts/pull.scm:228
+#, scheme-format
+msgid "Git error: ~a~%"
+msgstr "Git 错误:~a~%"
 
-#: guix/scripts/pull.scm:230
-msgid "failed to download up-to-date source, exiting\n"
+#: guix/scripts/pull.scm:262
+#, scheme-format
+msgid "Updating from Git repository at '~a'...~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:103
+#: guix/scripts/pull.scm:271
+#, scheme-format
+msgid "Building from Git commit ~a...~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:125
 #, scheme-format
 msgid "authentication and authorization of substitutes disabled!~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:179
+#: guix/scripts/substitute.scm:200
 #, scheme-format
 msgid "download from '~a' failed: ~a, ~s~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:191
+#: guix/scripts/substitute.scm:213
 #, scheme-format
 msgid "while fetching ~a: server is somewhat slow~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:193
+#: guix/scripts/substitute.scm:215
 #, scheme-format
 msgid "try `--no-substitutes' if the problem persists~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:266
+#: guix/scripts/substitute.scm:233
+#, scheme-format
+msgid "unsupported substitute URI scheme: ~a~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:268
+#, fuzzy, scheme-format
+#| msgid "failed to connect to `~a': ~a~%"
+msgid "while fetching '~a': ~a (~s)~%"
+msgstr "连接到 `~a' 失败:~a~%"
+
+#: guix/scripts/substitute.scm:273
+#, scheme-format
+msgid "ignoring substitute server at '~s'~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:323
 #, scheme-format
 msgid "signature version must be a number: ~s~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:270
+#: guix/scripts/substitute.scm:327
 #, scheme-format
 msgid "unsupported signature version: ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:278
+#: guix/scripts/substitute.scm:335
 #, scheme-format
 msgid "signature is not a valid s-expression: ~s~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:282
+#: guix/scripts/substitute.scm:339
 #, scheme-format
 msgid "invalid format of the signature field: ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:317
+#: guix/scripts/substitute.scm:374
 #, scheme-format
 msgid "invalid signature for '~a'~%"
 msgstr "'~a'~% 签名无效"
 
-#: guix/scripts/substitute.scm:319
+#: guix/scripts/substitute.scm:376
 #, scheme-format
 msgid "hash mismatch for '~a'~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:321
+#: guix/scripts/substitute.scm:378
 #, scheme-format
 msgid "'~a' is signed with an unauthorized key~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:323
+#: guix/scripts/substitute.scm:380
 #, scheme-format
 msgid "signature on '~a' is corrupt~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:361
+#: guix/scripts/substitute.scm:465
 #, scheme-format
-msgid "substitute at '~a' lacks a signature~%"
+msgid "'~a' does not name a store item~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:537
+#: guix/scripts/substitute.scm:629
 #, scheme-format
 msgid "updating list of substitutes from '~a'... ~5,1f%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:585
+#: guix/scripts/substitute.scm:693
 #, scheme-format
 msgid "~s: unsupported server URI scheme~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:596
+#: guix/scripts/substitute.scm:703
 #, scheme-format
 msgid "'~a' uses different store '~a'; ignoring it~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:739
+#: guix/scripts/substitute.scm:863
 #, scheme-format
 msgid "host name lookup error: ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:748
+#: guix/scripts/substitute.scm:868
+#, scheme-format
+msgid "TLS error in procedure '~a': ~a~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:879
 msgid ""
 "Usage: guix substitute [OPTION]...\n"
 "Internal tool to substitute a pre-built binary to a local build.\n"
 msgstr ""
 
-#: guix/scripts/substitute.scm:750
+#: guix/scripts/substitute.scm:881
 msgid ""
 "\n"
 "      --query            report on the availability of substitutes for the\n"
 "                         store file names passed on the standard input"
 msgstr ""
 
-#: guix/scripts/substitute.scm:753
+#: guix/scripts/substitute.scm:884
 msgid ""
 "\n"
 "      --substitute STORE-FILE DESTINATION\n"
@@ -1007,523 +1201,788 @@ msgid ""
 "                         DESTINATION"
 msgstr ""
 
-#: guix/scripts/substitute.scm:878
+#: guix/scripts/substitute.scm:949
+#, fuzzy, scheme-format
+#| msgid "invalid signature for '~a'~%"
+msgid "no valid substitute for '~a'~%"
+msgstr "'~a'~% 签名无效"
+
+#: guix/scripts/substitute.scm:956
+#, scheme-format
+msgid "Downloading ~a...~%"
+msgstr ""
+
+#: guix/scripts/substitute.scm:1012
 msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n"
 msgstr ""
 
-#: guix/scripts/substitute.scm:960
+#: guix/scripts/substitute.scm:1066
+#, fuzzy, scheme-format
+#| msgid "~a: invalid number~%"
+msgid "~a: invalid URI~%"
+msgstr "~a: 无效的数字~%"
+
+#: guix/scripts/substitute.scm:1126
 #, scheme-format
 msgid "~a: unrecognized options~%"
 msgstr ""
 
-#: guix/scripts/authenticate.scm:58
+#: guix/scripts/authenticate.scm:59
 #, scheme-format
 msgid "cannot find public key for secret key '~a'~%"
 msgstr ""
 
-#: guix/scripts/authenticate.scm:78
+#: guix/scripts/authenticate.scm:79
 #, scheme-format
 msgid "error: invalid signature: ~a~%"
 msgstr ""
 
-#: guix/scripts/authenticate.scm:80
+#: guix/scripts/authenticate.scm:81
 #, scheme-format
 msgid "error: unauthorized public key: ~a~%"
 msgstr ""
 
-#: guix/scripts/authenticate.scm:82
+#: guix/scripts/authenticate.scm:83
 #, scheme-format
 msgid "error: corrupt signature data: ~a~%"
 msgstr ""
 
-#: guix/scripts/authenticate.scm:120
+#: guix/scripts/authenticate.scm:121
 msgid ""
 "Usage: guix authenticate OPTION...\n"
 "Sign or verify the signature on the given file.  This tool is meant to\n"
 "be used internally by 'guix-daemon'.\n"
 msgstr ""
 
-#: guix/scripts/authenticate.scm:126
+#: guix/scripts/authenticate.scm:127
 msgid "wrong arguments"
 msgstr "参数有误"
 
-#: guix/scripts/system.scm:111
+#: guix/scripts/system.scm:135
 #, scheme-format
 msgid "failed to register '~a' under '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:143
-#, scheme-format
-msgid "failed to install GRUB on device '~a'~%"
-msgstr ""
+#: guix/scripts/system.scm:174
+#, fuzzy, scheme-format
+#| msgid "failed to connect to `~a': ~a~%"
+msgid "failed to install bootloader ~a~%"
+msgstr "连接到 `~a' 失败:~a~%"
 
-#: guix/scripts/system.scm:161
+#: guix/scripts/system.scm:194
 #, scheme-format
 msgid "initializing the current root file system~%"
 msgstr ""
 
-#: guix/scripts/system.scm:175
+#: guix/scripts/system.scm:208
 #, scheme-format
 msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%"
 msgstr ""
 
-#: guix/scripts/system.scm:233
+#: guix/scripts/system.scm:253
 #, scheme-format
 msgid "while talking to shepherd: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:279
+#: guix/scripts/system.scm:260
+#, fuzzy, scheme-format
+#| msgid "guix: ~a: command not found~%"
+msgid "service '~a' could not be found~%"
+msgstr "guix:~a:未找到命令~%"
+
+#: guix/scripts/system.scm:263
+#, scheme-format
+msgid "service '~a' does not have an action '~a'~%"
+msgstr ""
+
+#: guix/scripts/system.scm:267
+#, scheme-format
+msgid "exception caught while executing '~a' on service '~a':~%"
+msgstr ""
+
+#: guix/scripts/system.scm:275
+#, scheme-format
+msgid "something went wrong: ~s~%"
+msgstr ""
+
+#: guix/scripts/system.scm:278
+#, scheme-format
+msgid "shepherd error~%"
+msgstr ""
+
+#: guix/scripts/system.scm:295
+#, scheme-format
+msgid "failed to obtain list of shepherd services~%"
+msgstr ""
+
+#: guix/scripts/system.scm:315
 #, scheme-format
 msgid "unloading service '~a'...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:287
+#: guix/scripts/system.scm:323
 #, scheme-format
 msgid "loading new services:~{ ~a~}...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:311
+#: guix/scripts/system.scm:347
 #, scheme-format
 msgid "activating system...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:402
+#: guix/scripts/system.scm:423
+#, scheme-format
+msgid "cannot switch to system generation '~a'~%"
+msgstr ""
+
+#: guix/scripts/system.scm:494
 msgid "the DAG of services"
 msgstr ""
 
-#: guix/scripts/system.scm:415
+#: guix/scripts/system.scm:507
 msgid "the dependency graph of shepherd services"
 msgstr ""
 
-#: guix/scripts/system.scm:436
+#: guix/scripts/system.scm:531
 #, scheme-format
 msgid "  file name: ~a~%"
 msgstr "  文件名:~a~%"
 
-#: guix/scripts/system.scm:437
+#: guix/scripts/system.scm:532
 #, scheme-format
 msgid "  canonical file name: ~a~%"
 msgstr ""
 
 #. TRANSLATORS: Please preserve the two-space indentation.
-#: guix/scripts/system.scm:439
+#: guix/scripts/system.scm:534
 #, scheme-format
 msgid "  label: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:440
+#: guix/scripts/system.scm:535
+#, fuzzy, scheme-format
+#| msgid "  file name: ~a~%"
+msgid "  bootloader: ~a~%"
+msgstr "  文件名:~a~%"
+
+#: guix/scripts/system.scm:536
 #, scheme-format
 msgid "  root device: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:441
+#: guix/scripts/system.scm:540
 #, scheme-format
 msgid "  kernel: ~a~%"
 msgstr "  内核:~a~%"
 
-#: guix/scripts/system.scm:549
+#: guix/scripts/system.scm:600
+#, scheme-format
+msgid "~a: error: file system with label '~a' not found~%"
+msgstr ""
+
+#: guix/scripts/system.scm:606
+#, scheme-format
+msgid "~a: error: file system with UUID '~a' not found~%"
+msgstr ""
+
+#: guix/scripts/system.scm:658
+#, scheme-format
+msgid "~a not found: 'guix pull' was never run~%"
+msgstr ""
+
+#: guix/scripts/system.scm:659
+#, scheme-format
+msgid "Consider running 'guix pull' before 'reconfigure'.~%"
+msgstr ""
+
+#: guix/scripts/system.scm:660
+#, scheme-format
+msgid "Failing to do that may downgrade your system!~%"
+msgstr ""
+
+#: guix/scripts/system.scm:767
 #, scheme-format
 msgid "initializing operating system under '~a'...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:588
+#: guix/scripts/system.scm:812
 msgid ""
-"Usage: guix system [OPTION] ACTION [FILE]\n"
+"Usage: guix system [OPTION ...] ACTION [ARG ...] [FILE]\n"
 "Build the operating system declared in FILE according to ACTION.\n"
+"Some ACTIONS support additional ARGS.\n"
 msgstr ""
 
-#: guix/scripts/system.scm:591 guix/scripts/container.scm:28
+#: guix/scripts/system.scm:816 guix/scripts/container.scm:28
 msgid "The valid values for ACTION are:\n"
 msgstr ""
 
-#: guix/scripts/system.scm:593
+#: guix/scripts/system.scm:818
+msgid "   search           search for existing service types\n"
+msgstr ""
+
+#: guix/scripts/system.scm:820
 msgid "   reconfigure      switch to a new operating system configuration\n"
 msgstr ""
 
-#: guix/scripts/system.scm:595
+#: guix/scripts/system.scm:822
+msgid "   roll-back        switch to the previous operating system configuration\n"
+msgstr ""
+
+#: guix/scripts/system.scm:824
+msgid "   switch-generation switch to an existing operating system configuration\n"
+msgstr ""
+
+#: guix/scripts/system.scm:826
 msgid "   list-generations list the system generations\n"
 msgstr ""
 
-#: guix/scripts/system.scm:597
+#: guix/scripts/system.scm:828
 msgid "   build            build the operating system without installing anything\n"
 msgstr ""
 
-#: guix/scripts/system.scm:599
+#: guix/scripts/system.scm:830
 msgid "   container        build a container that shares the host's store\n"
 msgstr ""
 
-#: guix/scripts/system.scm:601
+#: guix/scripts/system.scm:832
 msgid "   vm               build a virtual machine image that shares the host's store\n"
 msgstr ""
 
-#: guix/scripts/system.scm:603
+#: guix/scripts/system.scm:834
 msgid "   vm-image         build a freestanding virtual machine image\n"
 msgstr ""
 
-#: guix/scripts/system.scm:605
+#: guix/scripts/system.scm:836
 msgid "   disk-image       build a disk image, suitable for a USB stick\n"
 msgstr ""
 
-#: guix/scripts/system.scm:607
+#: guix/scripts/system.scm:838
 msgid "   init             initialize a root file system to run GNU\n"
 msgstr ""
 
-#: guix/scripts/system.scm:609
+#: guix/scripts/system.scm:840
 msgid "   extension-graph  emit the service extension graph in Dot format\n"
 msgstr ""
 
-#: guix/scripts/system.scm:611
+#: guix/scripts/system.scm:842
 msgid "   shepherd-graph   emit the graph of shepherd services in Dot format\n"
 msgstr ""
 
-#: guix/scripts/system.scm:615
+#: guix/scripts/system.scm:846
 msgid ""
 "\n"
 "  -d, --derivation       return the derivation of the given system"
 msgstr ""
 
-#: guix/scripts/system.scm:617
+#: guix/scripts/system.scm:848
 msgid ""
 "\n"
 "      --on-error=STRATEGY\n"
 "                         apply STRATEGY when an error occurs while reading FILE"
 msgstr ""
 
-#: guix/scripts/system.scm:620
+#: guix/scripts/system.scm:851
+msgid ""
+"\n"
+"      --file-system-type=TYPE\n"
+"                         for 'disk-image', produce a root file system of TYPE\n"
+"                         (one of 'ext4', 'iso9660')"
+msgstr ""
+
+#: guix/scripts/system.scm:855
 msgid ""
 "\n"
 "      --image-size=SIZE  for 'vm-image', produce an image of SIZE"
 msgstr ""
 
-#: guix/scripts/system.scm:622
+#: guix/scripts/system.scm:857
 msgid ""
 "\n"
-"      --no-grub          for 'init', do not install GRUB"
+"      --no-bootloader    for 'init', do not install a bootloader"
 msgstr ""
 
-#: guix/scripts/system.scm:624
+#: guix/scripts/system.scm:859
 msgid ""
 "\n"
 "      --share=SPEC       for 'vm', share host file system according to SPEC"
 msgstr ""
 
-#: guix/scripts/system.scm:626
+#: guix/scripts/system.scm:861
+msgid ""
+"\n"
+"  -r, --root=FILE        for 'vm', 'vm-image', 'disk-image', 'container',\n"
+"                         and 'build', make FILE a symlink to the result, and\n"
+"                         register it as a garbage collector root"
+msgstr ""
+
+#: guix/scripts/system.scm:865
 msgid ""
 "\n"
 "      --expose=SPEC      for 'vm', expose host file system according to SPEC"
 msgstr ""
 
-#: guix/scripts/system.scm:628
+#: guix/scripts/system.scm:867
 msgid ""
 "\n"
 "      --full-boot        for 'vm', make a full boot sequence"
 msgstr ""
 
-#: guix/scripts/system.scm:713
+#: guix/scripts/system.scm:959
 #, scheme-format
 msgid "no configuration file specified~%"
-msgstr ""
+msgstr "未指定配置文件~%"
 
-#: guix/scripts/system.scm:776
+#: guix/scripts/system.scm:1057
 #, scheme-format
 msgid "~a: unknown action~%"
 msgstr "~a:未知操作~%"
 
-#: guix/scripts/system.scm:791
+#: guix/scripts/system.scm:1072
 #, scheme-format
 msgid "wrong number of arguments for action '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:796
+#: guix/scripts/system.scm:1077
 #, scheme-format
 msgid "guix system: missing command name~%"
 msgstr ""
 
-#: guix/scripts/system.scm:798
+#: guix/scripts/system.scm:1079
 #, scheme-format
 msgid "Try 'guix system --help' for more information.~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:127
+#: guix/scripts/system/search.scm:64 guix/ui.scm:1057 guix/ui.scm:1071
+msgid "unknown"
+msgstr "未知"
+
+#: guix/scripts/lint.scm:138
 #, scheme-format
 msgid "Available checkers:~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:147
+#: guix/scripts/lint.scm:162
 msgid "description should not be empty"
-msgstr ""
+msgstr "描述不应为空"
 
-#: guix/scripts/lint.scm:157
+#: guix/scripts/lint.scm:172
 msgid "Texinfo markup in description is invalid"
 msgstr ""
 
-#: guix/scripts/lint.scm:165
+#: guix/scripts/lint.scm:182
+#, scheme-format
+msgid ""
+"description should not contain ~\n"
+"trademark sign '~a' at ~d"
+msgstr ""
+
+#. TRANSLATORS: '@code' is Texinfo markup and must be kept
+#. as is.
+#: guix/scripts/lint.scm:195
+msgid "use @code or similar ornament instead of quotes"
+msgstr ""
+
+#: guix/scripts/lint.scm:202
 msgid "description should start with an upper-case letter or digit"
 msgstr ""
 
-#: guix/scripts/lint.scm:181
+#: guix/scripts/lint.scm:218
 #, scheme-format
 msgid ""
 "sentences in description should be followed ~\n"
 "by two spaces; possible infraction~p at ~{~a~^, ~}"
 msgstr ""
 
-#: guix/scripts/lint.scm:205
-msgid "pkg-config should probably be a native input"
+#: guix/scripts/lint.scm:236
+#, scheme-format
+msgid "invalid description: ~s"
+msgstr "无效的描述:~s"
+
+#: guix/scripts/lint.scm:281
+#, scheme-format
+msgid "'~a' should probably be a native input"
+msgstr ""
+
+#: guix/scripts/lint.scm:297
+#, scheme-format
+msgid "'~a' should probably not be an input at all"
 msgstr ""
 
-#: guix/scripts/lint.scm:220
+#: guix/scripts/lint.scm:314
 msgid "synopsis should not be empty"
 msgstr ""
 
-#: guix/scripts/lint.scm:228
+#: guix/scripts/lint.scm:322
 msgid "no period allowed at the end of the synopsis"
 msgstr ""
 
-#: guix/scripts/lint.scm:240
+#: guix/scripts/lint.scm:334
 msgid "no article allowed at the beginning of the synopsis"
 msgstr ""
 
-#: guix/scripts/lint.scm:247
+#: guix/scripts/lint.scm:341
 msgid "synopsis should be less than 80 characters long"
 msgstr ""
 
-#: guix/scripts/lint.scm:253
+#: guix/scripts/lint.scm:347
 msgid "synopsis should start with an upper-case letter or digit"
 msgstr ""
 
-#: guix/scripts/lint.scm:260
+#: guix/scripts/lint.scm:354
 msgid "synopsis should not start with the package name"
 msgstr ""
 
-#: guix/scripts/lint.scm:354 guix/scripts/lint.scm:366
+#: guix/scripts/lint.scm:364
+msgid "Texinfo markup in synopsis is invalid"
+msgstr ""
+
+#: guix/scripts/lint.scm:383
+#, fuzzy, scheme-format
+#| msgid "invalid syntax: ~a~%"
+msgid "invalid synopsis: ~s"
+msgstr "无效语法: ~a~%"
+
+#: guix/scripts/lint.scm:502
+#, scheme-format
+msgid "URI ~a returned suspiciously small file (~a bytes)"
+msgstr ""
+
+#: guix/scripts/lint.scm:512
+#, scheme-format
+msgid "permanent redirect from ~a to ~a"
+msgstr ""
+
+#: guix/scripts/lint.scm:519
+#, fuzzy, scheme-format
+#| msgid "ambiguous package specification `~a'~%"
+msgid "invalid permanent redirect from ~a"
+msgstr "含糊的软件包规范 `~a'~%"
+
+#: guix/scripts/lint.scm:526 guix/scripts/lint.scm:538
 #, scheme-format
 msgid "URI ~a not reachable: ~a (~s)"
 msgstr ""
 
-#: guix/scripts/lint.scm:373
+#: guix/scripts/lint.scm:545
 #, scheme-format
 msgid "URI ~a domain not found: ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:381
+#: guix/scripts/lint.scm:553
 #, scheme-format
 msgid "URI ~a unreachable: ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:407
+#: guix/scripts/lint.scm:562
+#, scheme-format
+msgid "TLS certificate error: ~a"
+msgstr "TLS 证书错误:~a"
+
+#: guix/scripts/lint.scm:583
 msgid "invalid value for home page"
-msgstr ""
+msgstr "无效的主页值"
 
-#: guix/scripts/lint.scm:410
+#: guix/scripts/lint.scm:586
 #, scheme-format
 msgid "invalid home page URL: ~s"
-msgstr ""
+msgstr "无效的主页 URL:~s"
 
-#: guix/scripts/lint.scm:430
+#: guix/scripts/lint.scm:606
 msgid "file names of patches should start with the package name"
 msgstr ""
 
-#: guix/scripts/lint.scm:467
+#: guix/scripts/lint.scm:644
 #, scheme-format
 msgid "~a: ~a: proposed synopsis: ~s~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:479
+#: guix/scripts/lint.scm:657
 #, scheme-format
 msgid "~a: ~a: proposed description:~%     \"~a\"~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:516
+#: guix/scripts/lint.scm:699
 msgid "all the source URIs are unreachable:"
 msgstr ""
 
-#: guix/scripts/lint.scm:539
+#: guix/scripts/lint.scm:721
 msgid "the source file name should contain the package name"
 msgstr ""
 
-#: guix/scripts/lint.scm:548 guix/scripts/lint.scm:552
+#: guix/scripts/lint.scm:737
+#, scheme-format
+msgid "URL should be 'mirror://~a/~a'"
+msgstr ""
+
+#: guix/scripts/lint.scm:755 guix/scripts/lint.scm:759
 #, scheme-format
 msgid "failed to create derivation: ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:566
+#: guix/scripts/lint.scm:773
 #, scheme-format
 msgid "failed to create derivation: ~s~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:576
+#: guix/scripts/lint.scm:783
 msgid "invalid license field"
-msgstr ""
+msgstr "无效的许可证字段"
 
-#: guix/scripts/lint.scm:602
+#: guix/scripts/lint.scm:799
 #, scheme-format
-msgid "failed to retrieve CVE vulnerabilities from ~s: ~a (~s)~%"
+msgid "~a: HTTP GET error for ~a: ~a (~s)~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:607 guix/scripts/lint.scm:615
+#: guix/scripts/lint.scm:809
 #, scheme-format
-msgid "assuming no CVE vulnerabilities~%"
+msgid "~a: host lookup failure: ~a~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:613
-#, fuzzy, scheme-format
-#| msgid "failed to connect to `~a': ~a~%"
-msgid "failed to lookup NIST host: ~a~%"
-msgstr "连接到 `~a' 失败:~a~%"
+#: guix/scripts/lint.scm:814
+#, scheme-format
+msgid "~a: TLS certificate error: ~a"
+msgstr "~a:TLS 证书错误:~a"
 
-#: guix/scripts/lint.scm:644
+#: guix/scripts/lint.scm:829
+msgid "while retrieving CVE vulnerabilities"
+msgstr ""
+
+#: guix/scripts/lint.scm:866
 #, scheme-format
 msgid "probably vulnerable to ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:659
+#: guix/scripts/lint.scm:873
+#, scheme-format
+msgid "while retrieving upstream info for '~a'"
+msgstr ""
+
+#: guix/scripts/lint.scm:881
+#, scheme-format
+msgid "can be upgraded to ~a"
+msgstr "可升级至 ~a"
+
+#: guix/scripts/lint.scm:896
 #, scheme-format
 msgid "tabulation on line ~a, column ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:668
+#: guix/scripts/lint.scm:905
 #, scheme-format
 msgid "trailing white space on line ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:678
+#: guix/scripts/lint.scm:915
 #, scheme-format
 msgid "line ~a is way too long (~a characters)"
 msgstr ""
 
-#: guix/scripts/lint.scm:689
+#: guix/scripts/lint.scm:926
 #, scheme-format
 msgid "line ~a: parentheses feel lonely, move to the previous or next line"
 msgstr ""
 
-#: guix/scripts/lint.scm:744
+#: guix/scripts/lint.scm:996
 msgid "Validate package descriptions"
 msgstr ""
 
-#: guix/scripts/lint.scm:748
+#: guix/scripts/lint.scm:1000
 msgid "Validate synopsis & description of GNU packages"
 msgstr ""
 
-#: guix/scripts/lint.scm:752
+#: guix/scripts/lint.scm:1004
 msgid "Identify inputs that should be native inputs"
 msgstr ""
 
-#: guix/scripts/lint.scm:756
+#: guix/scripts/lint.scm:1008
+msgid "Identify inputs that should be inputs at all"
+msgstr ""
+
+#: guix/scripts/lint.scm:1012
 msgid "Validate file names and availability of patches"
 msgstr ""
 
-#: guix/scripts/lint.scm:760
+#: guix/scripts/lint.scm:1016
 msgid "Validate home-page URLs"
 msgstr ""
 
 #. TRANSLATORS: <license> is the name of a data type and must not be
 #. translated.
-#: guix/scripts/lint.scm:766
+#: guix/scripts/lint.scm:1022
 msgid "Make sure the 'license' field is a <license> or a list thereof"
 msgstr ""
 
-#: guix/scripts/lint.scm:771
+#: guix/scripts/lint.scm:1027
 msgid "Validate source URLs"
 msgstr ""
 
-#: guix/scripts/lint.scm:775
+#: guix/scripts/lint.scm:1031
+msgid "Suggest 'mirror://' URLs"
+msgstr ""
+
+#: guix/scripts/lint.scm:1035
 msgid "Validate file names of sources"
 msgstr ""
 
-#: guix/scripts/lint.scm:779
+#: guix/scripts/lint.scm:1039
 msgid "Report failure to compile a package to a derivation"
 msgstr ""
 
-#: guix/scripts/lint.scm:783
+#: guix/scripts/lint.scm:1043
 msgid "Validate package synopses"
 msgstr ""
 
-#: guix/scripts/lint.scm:787
+#: guix/scripts/lint.scm:1047
 msgid "Check the Common Vulnerabilities and Exposures (CVE) database"
 msgstr ""
 
-#: guix/scripts/lint.scm:792
+#: guix/scripts/lint.scm:1052
+msgid "Check the package for new upstream releases"
+msgstr ""
+
+#: guix/scripts/lint.scm:1056
 msgid "Look for formatting issues in the source"
 msgstr ""
 
-#: guix/scripts/lint.scm:817
+#: guix/scripts/lint.scm:1084
 msgid ""
 "Usage: guix lint [OPTION]... [PACKAGE]...\n"
 "Run a set of checkers on the specified package; if none is specified,\n"
 "run the checkers on all packages.\n"
 msgstr ""
 
-#: guix/scripts/lint.scm:820
+#: guix/scripts/lint.scm:1087
 msgid ""
 "\n"
 "  -c, --checkers=CHECKER1,CHECKER2...\n"
 "                         only run the specified checkers"
 msgstr ""
 
-#: guix/scripts/lint.scm:825
+#: guix/scripts/lint.scm:1092
 msgid ""
 "\n"
 "  -l, --list-checkers    display the list of available lint checkers"
 msgstr ""
 
-#: guix/scripts/lint.scm:845
+#: guix/scripts/lint.scm:1112
 #, scheme-format
 msgid "~a: invalid checker~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:52
+#: guix/scripts/publish.scm:68
 #, scheme-format
 msgid ""
 "Usage: guix publish [OPTION]...\n"
 "Publish ~a over HTTP.\n"
 msgstr ""
 
-#: guix/scripts/publish.scm:54
+#: guix/scripts/publish.scm:70
 msgid ""
 "\n"
 "  -p, --port=PORT        listen on PORT"
 msgstr ""
 
-#: guix/scripts/publish.scm:56
+#: guix/scripts/publish.scm:72
 msgid ""
 "\n"
 "      --listen=HOST      listen on the network interface for HOST"
 msgstr ""
 
-#: guix/scripts/publish.scm:58
+#: guix/scripts/publish.scm:74
 msgid ""
 "\n"
 "  -u, --user=USER        change privileges to USER as soon as possible"
 msgstr ""
 
-#: guix/scripts/publish.scm:60
+#: guix/scripts/publish.scm:76
+#, fuzzy
+#| msgid ""
+#| "\n"
+#| "      --substitute-urls=URLS\n"
+#| "                         compare build results with those at URLS"
+msgid ""
+"\n"
+"  -C, --compression[=LEVEL]\n"
+"                         compress archives at LEVEL"
+msgstr ""
+"\n"
+"      --substitute-urls=URLS\n"
+"                         与 URLS 的构建结果对比"
+
+#: guix/scripts/publish.scm:79
+msgid ""
+"\n"
+"  -c, --cache=DIRECTORY  cache published items to DIRECTORY"
+msgstr ""
+
+#: guix/scripts/publish.scm:81
+msgid ""
+"\n"
+"      --workers=N        use N workers to bake items"
+msgstr ""
+
+#: guix/scripts/publish.scm:83
+msgid ""
+"\n"
+"      --ttl=TTL          announce narinfos can be cached for TTL seconds"
+msgstr ""
+
+#: guix/scripts/publish.scm:85
+msgid ""
+"\n"
+"      --nar-path=PATH    use PATH as the prefix for nar URLs"
+msgstr ""
+
+#: guix/scripts/publish.scm:87
+msgid ""
+"\n"
+"      --public-key=FILE  use FILE as the public key for signatures"
+msgstr ""
+
+#: guix/scripts/publish.scm:89
+msgid ""
+"\n"
+"      --private-key=FILE use FILE as the private key for signatures"
+msgstr ""
+
+#: guix/scripts/publish.scm:91
 msgid ""
 "\n"
 "  -r, --repl[=PORT]      spawn REPL server on PORT"
 msgstr ""
 
-#: guix/scripts/publish.scm:76
+#: guix/scripts/publish.scm:107
 #, scheme-format
 msgid "lookup of host '~a' failed: ~a~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:100
+#: guix/scripts/publish.scm:152
 #, scheme-format
 msgid "lookup of host '~a' returned nothing"
 msgstr ""
 
-#: guix/scripts/publish.scm:342
+#: guix/scripts/publish.scm:165
+#, scheme-format
+msgid "zlib support is missing; compression disabled~%"
+msgstr ""
+
+#: guix/scripts/publish.scm:179
+#, fuzzy, scheme-format
+#| msgid "~a: invalid number~%"
+msgid "~a: invalid duration~%"
+msgstr "~a: 无效的数字~%"
+
+#: guix/scripts/publish.scm:832
 #, scheme-format
 msgid "user '~a' not found: ~a~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:377
+#: guix/scripts/publish.scm:873
 #, scheme-format
 msgid "server running as root; consider using the '--user' option!~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:379
+#: guix/scripts/publish.scm:878
 #, scheme-format
 msgid "publishing ~a on ~a, port ~d~%"
 msgstr ""
@@ -1539,42 +1998,47 @@ msgstr ""
 msgid "file '~a' not found in search path ~s~%"
 msgstr ""
 
-#: guix/scripts/edit.scm:83
+#: guix/scripts/edit.scm:90
 #, scheme-format
 msgid "source location of package '~a' is unknown~%"
 msgstr ""
 
-#: guix/scripts/edit.scm:96
+#: guix/scripts/edit.scm:103
 #, fuzzy, scheme-format
 #| msgid "failed to connect to `~a': ~a~%"
 msgid "failed to launch '~a': ~a~%"
 msgstr "连接到 `~a' 失败:~a~%"
 
-#: guix/scripts/size.scm:75
+#: guix/scripts/size.scm:77
 #, scheme-format
 msgid "no available substitute information for '~a'~%"
 msgstr ""
 
-#: guix/scripts/size.scm:83
+#: guix/scripts/size.scm:99
 msgid "store item"
 msgstr ""
 
-#: guix/scripts/size.scm:83
+#: guix/scripts/size.scm:99
 msgid "total"
 msgstr "总用量"
 
-#: guix/scripts/size.scm:83
+#: guix/scripts/size.scm:99
 msgid "self"
 msgstr ""
 
+#: guix/scripts/size.scm:107
+#, scheme-format
+msgid "total: ~,1f MiB~%"
+msgstr ""
+
 #. TRANSLATORS: This is the title of a graph, meaning that the graph
 #. represents a profile of the store (the "store" being the place where
 #. packages are stored.)
-#: guix/scripts/size.scm:204
+#: guix/scripts/size.scm:221
 msgid "store profile"
 msgstr ""
 
-#: guix/scripts/size.scm:213
+#: guix/scripts/size.scm:230
 msgid ""
 "Usage: guix size [OPTION]... PACKAGE\n"
 "Report the size of PACKAGE and its dependencies.\n"
@@ -1582,7 +2046,7 @@ msgstr ""
 "用法:guix size [选项]... 软件包\n"
 "报告 <软件包> 及其依赖的大小。\n"
 
-#: guix/scripts/size.scm:218
+#: guix/scripts/size.scm:235
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    consider packages for SYSTEM--e.g., \"i686-linux\""
@@ -1590,126 +2054,193 @@ msgstr ""
 "\n"
 "  -s, --system=系统      为 <系统> 考虑包——比如,\"i686-linux\""
 
-#: guix/scripts/size.scm:220
+#. TRANSLATORS: "closure" and "self" must not be translated.
+#: guix/scripts/size.scm:238
+msgid ""
+"\n"
+"      --sort=KEY         sort according to KEY--\"closure\" or \"self\""
+msgstr ""
+
+#: guix/scripts/size.scm:240
 msgid ""
 "\n"
 "  -m, --map-file=FILE    write to FILE a graphical map of disk usage"
 msgstr ""
 
-#: guix/scripts/size.scm:274
+#: guix/scripts/size.scm:271
+#, fuzzy, scheme-format
+#| msgid "~a: invalid number~%"
+msgid "~a: invalid sorting key~%"
+msgstr "~a: 无效的数字~%"
+
+#: guix/scripts/size.scm:306
 msgid "missing store item argument\n"
 msgstr ""
 
-#: guix/scripts/size.scm:292
-msgid "too many arguments\n"
-msgstr "太多参数\n"
+#: guix/scripts/graph.scm:84
+#, scheme-format
+msgid "~a: invalid argument (package name expected)"
+msgstr ""
 
-#: guix/scripts/graph.scm:77
+#: guix/scripts/graph.scm:95
 msgid "the DAG of packages, excluding implicit inputs"
 msgstr ""
 
-#: guix/scripts/graph.scm:133
+#: guix/scripts/graph.scm:121
+msgid "the reverse DAG of packages"
+msgstr ""
+
+#: guix/scripts/graph.scm:171
 msgid "the DAG of packages, including implicit inputs"
 msgstr ""
 
-#: guix/scripts/graph.scm:142
+#: guix/scripts/graph.scm:181
 msgid "the DAG of packages and origins, including implicit inputs"
 msgstr ""
 
-#: guix/scripts/graph.scm:172
+#: guix/scripts/graph.scm:211
 msgid "same as 'bag', but without the bootstrap nodes"
 msgstr ""
 
-#: guix/scripts/graph.scm:217
+#: guix/scripts/graph.scm:253
 msgid "the DAG of derivations"
 msgstr ""
 
-#: guix/scripts/graph.scm:241
+#: guix/scripts/graph.scm:265
+msgid "unsupported argument for derivation graph"
+msgstr ""
+
+#: guix/scripts/graph.scm:291
+msgid "unsupported argument for this type of graph"
+msgstr ""
+
+#: guix/scripts/graph.scm:304
 #, scheme-format
 msgid "references for '~a' are not known~%"
 msgstr ""
 
-#: guix/scripts/graph.scm:248
+#: guix/scripts/graph.scm:311
 msgid "the DAG of run-time dependencies (store references)"
 msgstr ""
 
-#: guix/scripts/graph.scm:278
+#: guix/scripts/graph.scm:327
+msgid "the DAG of referrers in the store"
+msgstr ""
+
+#: guix/scripts/graph.scm:354
 #, scheme-format
 msgid "~a: unknown node type~%"
 msgstr "~a: 未知节点类型~%"
 
-#: guix/scripts/graph.scm:282
+#: guix/scripts/graph.scm:361
+#, scheme-format
+msgid "~a: unknown backend~%"
+msgstr "~a:未知后端~%"
+
+#: guix/scripts/graph.scm:365
 msgid "The available node types are:\n"
 msgstr ""
 
+#: guix/scripts/graph.scm:375
+msgid "The available backend types are:\n"
+msgstr ""
+
 #. TRANSLATORS: Here 'dot' is the name of a program; it must not be
 #. translated.
-#: guix/scripts/graph.scm:318
+#: guix/scripts/graph.scm:419
 msgid ""
 "Usage: guix graph PACKAGE...\n"
-"Emit a Graphviz (dot) representation of the dependencies of PACKAGE...\n"
+"Emit a representation of the dependency graph of PACKAGE...\n"
+msgstr ""
+
+#: guix/scripts/graph.scm:421
+msgid ""
+"\n"
+"  -b, --backend=TYPE     produce a graph with the given backend TYPE"
+msgstr ""
+
+#: guix/scripts/graph.scm:423
+msgid ""
+"\n"
+"      --list-backends    list the available graph backends"
 msgstr ""
 
-#: guix/scripts/graph.scm:320
+#: guix/scripts/graph.scm:425
 msgid ""
 "\n"
 "  -t, --type=TYPE        represent nodes of the given TYPE"
 msgstr ""
 
-#: guix/scripts/graph.scm:322
+#: guix/scripts/graph.scm:427
 msgid ""
 "\n"
 "      --list-types       list the available graph types"
 msgstr ""
 
-#: guix/scripts/graph.scm:324
+#: guix/scripts/graph.scm:429 guix/scripts/pack.scm:336
 msgid ""
 "\n"
 "  -e, --expression=EXPR  consider the package EXPR evaluates to"
 msgstr ""
 
-#: guix/scripts/challenge.scm:104
+#: guix/scripts/challenge.scm:191
 #, scheme-format
-msgid "~a: no substitute at '~a'~%"
+msgid "  local hash: ~a~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:120
+#: guix/scripts/challenge.scm:192
 #, scheme-format
-msgid "no substitutes for '~a'~%"
+msgid "  no local build for '~a'~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:137 guix/scripts/challenge.scm:157
+#: guix/scripts/challenge.scm:194
 #, scheme-format
-msgid "no local build for '~a'~%"
+msgid "  ~50a: ~a~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:154
+#: guix/scripts/challenge.scm:202
 #, scheme-format
 msgid "~a contents differ:~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:156
+#: guix/scripts/challenge.scm:205
 #, scheme-format
-msgid "  local hash: ~a~%"
+msgid "could not challenge '~a': no local build~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:161
+#: guix/scripts/challenge.scm:207
 #, scheme-format
-msgid "  ~50a: ~a~%"
+msgid "could not challenge '~a': no substitutes~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:165
+#: guix/scripts/challenge.scm:210
 #, scheme-format
-msgid "  ~50a: unavailable~%"
+msgid "~a contents match:~%"
 msgstr ""
 
-#: guix/scripts/challenge.scm:175
+#: guix/scripts/challenge.scm:219
+msgid "~h store items were analyzed:~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:220
+msgid "  - ~h (~,1f%) were identical~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:222
+msgid "  - ~h (~,1f%) differed~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:224
+msgid "  - ~h (~,1f%) were inconclusive~%"
+msgstr ""
+
+#: guix/scripts/challenge.scm:233
 msgid ""
 "Usage: guix challenge [PACKAGE...]\n"
 "Challenge the substitutes for PACKAGE... provided by one or more servers.\n"
 msgstr ""
 
-#: guix/scripts/challenge.scm:177
+#: guix/scripts/challenge.scm:235
 msgid ""
 "\n"
 "      --substitute-urls=URLS\n"
@@ -1719,18 +2250,205 @@ msgstr ""
 "      --substitute-urls=URLS\n"
 "                         与 URLS 的构建结果对比"
 
-#: guix/gnu-maintenance.scm:542
+#: guix/scripts/challenge.scm:238
+msgid ""
+"\n"
+"      -v, --verbose      show details about successful comparisons"
+msgstr ""
+
+#: guix/scripts/copy.scm:59
+#, fuzzy, scheme-format
+#| msgid "~a: invalid number~%"
+msgid "~a: invalid TCP port number~%"
+msgstr "~a: 无效的数字~%"
+
+#: guix/scripts/copy.scm:61
+#, fuzzy, scheme-format
+#| msgid "ambiguous package specification `~a'~%"
+msgid "~a: invalid SSH specification~%"
+msgstr "含糊的软件包规范 `~a'~%"
+
+#: guix/scripts/copy.scm:113
+msgid ""
+"Usage: guix copy [OPTION]... ITEMS...\n"
+"Copy ITEMS to or from the specified host over SSH.\n"
+msgstr ""
+
+#: guix/scripts/copy.scm:115
+msgid ""
+"\n"
+"      --to=HOST          send ITEMS to HOST"
+msgstr ""
+
+#: guix/scripts/copy.scm:117
+msgid ""
+"\n"
+"      --from=HOST        receive ITEMS from HOST"
+msgstr ""
+
+#: guix/scripts/copy.scm:168
+#, scheme-format
+msgid "use '--to' or '--from'~%"
+msgstr ""
+
+#: guix/scripts/pack.scm:76
+#, fuzzy, scheme-format
+#| msgid "~a: package not found~%"
+msgid "~a: compressor not found~%"
+msgstr "~a: 包未找到~%"
+
+#: guix/scripts/pack.scm:318
+#, fuzzy, scheme-format
+#| msgid "ambiguous package specification `~a'~%"
+msgid "~a: invalid symlink specification~%"
+msgstr "含糊的软件包规范 `~a'~%"
+
+#: guix/scripts/pack.scm:328
+#, fuzzy
+#| msgid ""
+#| "Usage: guix size [OPTION]... PACKAGE\n"
+#| "Report the size of PACKAGE and its dependencies.\n"
+msgid ""
+"Usage: guix pack [OPTION]... PACKAGE...\n"
+"Create a bundle of PACKAGE.\n"
+msgstr ""
+"用法:guix size [选项]... 软件包\n"
+"报告 <软件包> 及其依赖的大小。\n"
+
+#: guix/scripts/pack.scm:334
+msgid ""
+"\n"
+"  -f, --format=FORMAT    build a pack in the given FORMAT"
+msgstr ""
+
+#: guix/scripts/pack.scm:342
+msgid ""
+"\n"
+"  -C, --compression=TOOL compress using TOOL--e.g., \"lzip\""
+msgstr ""
+
+#: guix/scripts/pack.scm:344
+msgid ""
+"\n"
+"  -S, --symlink=SPEC     create symlinks to the profile according to SPEC"
+msgstr ""
+
+#: guix/scripts/pack.scm:346
+msgid ""
+"\n"
+"      --localstatedir    include /var/guix in the resulting pack"
+msgstr ""
+
+#: guix/scripts/pack.scm:390
+#, scheme-format
+msgid "~a: unknown pack format"
+msgstr ""
+
+#: guix/scripts/weather.scm:74
+msgid "computing ~h package derivations for ~a...~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:110
+#, fuzzy
+#| msgid "looking for the latest release of GNU ~a..."
+msgid "looking for ~h store items on ~a...~%"
+msgstr "寻找最新版的 GNU~a..."
+
+#: guix/scripts/weather.scm:120
+msgid "  ~2,1f% substitutes available (~h out of ~h)~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:126
+#, scheme-format
+msgid "  unknown substitute sizes~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:129
+msgid "  ~,1h MiB of nars (compressed)~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:130
+msgid "  at least ~,1h MiB of nars (compressed)~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:132
+msgid "  ~,1h MiB on disk (uncompressed)~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:134
+msgid "  ~,3h seconds per request (~,1h seconds in total)~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:136
+msgid "  ~,1h requests per second~%"
+msgstr ""
+
+#: guix/scripts/weather.scm:145
+msgid ""
+"Usage: guix weather [OPTIONS]\n"
+"Report the availability of substitutes.\n"
+msgstr ""
+
+#: guix/scripts/weather.scm:147
+#, fuzzy
+#| msgid ""
+#| "\n"
+#| "      --substitute-urls=URLS\n"
+#| "                         compare build results with those at URLS"
+msgid ""
+"\n"
+"      --substitute-urls=URLS\n"
+"                         check for available substitutes at URLS"
+msgstr ""
+"\n"
+"      --substitute-urls=URLS\n"
+"                         与 URLS 的构建结果对比"
+
+#: guix/scripts/weather.scm:150
+msgid ""
+"\n"
+"  -m, --manifest=MANIFEST\n"
+"                         look up substitutes for packages specified in MANIFEST"
+msgstr ""
+
+#: guix/scripts/weather.scm:153
+#, fuzzy
+#| msgid ""
+#| "\n"
+#| "  -s, --system=SYSTEM    consider packages for SYSTEM--e.g., \"i686-linux\""
+msgid ""
+"\n"
+"  -s, --system=SYSTEM    consider substitutes for SYSTEM--e.g., \"i686-linux\""
+msgstr ""
+"\n"
+"  -s, --system=系统      为 <系统> 考虑包——比如,\"i686-linux\""
+
+#: guix/scripts/weather.scm:177
+#, fuzzy, scheme-format
+#| msgid "~a: invalid number~%"
+msgid "~a: invalid URL~%"
+msgstr "~a: 无效的数字~%"
+
+#: guix/gnu-maintenance.scm:567
 msgid "Updater for GNU packages"
 msgstr ""
 
-#: guix/gnu-maintenance.scm:549
-msgid "Updater for GNOME packages"
+#: guix/gnu-maintenance.scm:576
+msgid "Updater for GNU packages only available via FTP"
+msgstr ""
+
+#: guix/gnu-maintenance.scm:585
+msgid "Updater for KDE packages"
 msgstr ""
 
-#: guix/gnu-maintenance.scm:556
+#: guix/gnu-maintenance.scm:592
 msgid "Updater for X.org packages"
 msgstr ""
 
+#: guix/gnu-maintenance.scm:599
+msgid "Updater for packages hosted on kernel.org"
+msgstr ""
+
 #: guix/scripts/container.scm:25
 msgid ""
 "Usage: guix container ACTION ARGS...\n"
@@ -1763,92 +2481,129 @@ msgstr ""
 msgid "~a: extraneous argument~%"
 msgstr "~A: 未预期的参数~%"
 
-#: guix/scripts/container/exec.scm:80
+#: guix/scripts/container/exec.scm:87
 #, scheme-format
 msgid "no pid specified~%"
 msgstr ""
 
-#: guix/scripts/container/exec.scm:83
+#: guix/scripts/container/exec.scm:90
 #, scheme-format
 msgid "no command specified~%"
 msgstr ""
 
-#: guix/scripts/container/exec.scm:86
+#: guix/scripts/container/exec.scm:93
 #, scheme-format
 msgid "no such process ~d~%"
 msgstr ""
 
-#: guix/scripts/container/exec.scm:94
+#: guix/scripts/container/exec.scm:105
 #, scheme-format
 msgid "exec failed with status ~d~%"
 msgstr ""
 
-#: guix/upstream.scm:158
+#: guix/upstream.scm:249
 #, scheme-format
 msgid "signature verification failed for `~a'~%"
 msgstr ""
 
-#: guix/upstream.scm:160
+#: guix/upstream.scm:251
 #, scheme-format
 msgid "(could be because the public key is not in your keyring)~%"
 msgstr ""
 
-#: guix/upstream.scm:192
-msgid "gz"
-msgstr ""
-
-#: guix/upstream.scm:255
+#: guix/upstream.scm:330
 #, scheme-format
 msgid "~a: could not locate source file"
 msgstr ""
 
-#: guix/upstream.scm:260
+#: guix/upstream.scm:335
 #, scheme-format
 msgid "~a: ~a: no `version' field in source; skipping~%"
 msgstr ""
 
-#: guix/ui.scm:236
+#: guix/ui.scm:159
+#, scheme-format
+msgid "~a: unbound variable"
+msgstr ""
+
+#: guix/ui.scm:235
 msgid "entering debugger; type ',bt' for a backtrace\n"
 msgstr ""
 
-#: guix/ui.scm:252 guix/ui.scm:269
+#: guix/ui.scm:284
+#, fuzzy, scheme-format
+#| msgid "deleting ~a~%"
+msgid "hint: ~a~%"
+msgstr "正删除 ~a~%"
+
+#: guix/ui.scm:294 guix/ui.scm:342 guix/ui.scm:349
 #, scheme-format
 msgid "failed to load '~a': ~a~%"
 msgstr ""
 
-#: guix/ui.scm:255
+#: guix/ui.scm:301
+#, scheme-format
+msgid "~amissing closing parenthesis~%"
+msgstr ""
+
+#: guix/ui.scm:306 guix/ui.scm:322 guix/ui.scm:596
 #, scheme-format
 msgid "~a: error: ~a~%"
 msgstr "~a:错误:~a~%"
 
-#: guix/ui.scm:258 guix/ui.scm:512
+#: guix/ui.scm:314
+msgid "Did you forget a @code{use-modules} form?"
+msgstr ""
+
+#: guix/ui.scm:316
+#, scheme-format
+msgid "Try adding @code{(use-modules ~a)}."
+msgstr ""
+
+#: guix/ui.scm:329 guix/ui.scm:657
 #, scheme-format
 msgid "exception thrown: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:260 guix/ui.scm:278
+#: guix/ui.scm:333 guix/ui.scm:355
 #, scheme-format
 msgid "failed to load '~a':~%"
 msgstr ""
 
-#: guix/ui.scm:272
+#: guix/ui.scm:345
 #, scheme-format
 msgid "~a: warning: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:275
+#: guix/ui.scm:352
 #, scheme-format
 msgid "failed to load '~a': exception thrown: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:287
+#: guix/ui.scm:364
 #, scheme-format
 msgid "failed to install locale: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:306
+#. TRANSLATORS: Translate "(C)" to the copyright symbol
+#. (C-in-a-circle), if this symbol is available in the user's
+#. locale.  Otherwise, do not translate "(C)"; leave it as-is.  */
+#: guix/ui.scm:394
+msgid "(C)"
+msgstr ""
+
+#: guix/ui.scm:395
+msgid "the Guix authors\n"
+msgstr "Guix 作者\n"
+
+#: guix/ui.scm:396
+#, fuzzy
+#| msgid ""
+#| "Copyright (C) 2016 the Guix authors\n"
+#| "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
+#| "This is free software: you are free to change and redistribute it.\n"
+#| "There is NO WARRANTY, to the extent permitted by law.\n"
 msgid ""
-"Copyright (C) 2016 the Guix authors\n"
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
@@ -1858,7 +2613,11 @@ msgstr ""
 "本软件是自由软件:您可以自由修改和重新发布它。\n"
 "在法律允许的范围内没有其他保证。\n"
 
-#: guix/ui.scm:314
+#. TRANSLATORS: The placeholder indicates the bug-reporting address for this
+#. package.  Please add another line saying "Report translation bugs to
+#. ...\n" with the address for translation bugs (typically your translation
+#. team's web or email address).
+#: guix/ui.scm:408
 #, scheme-format
 msgid ""
 "\n"
@@ -1866,9 +2625,9 @@ msgid ""
 msgstr ""
 "\n"
 "报告程序缺陷到:~a。\n"
-"报告翻译错误到:https://translationproject.org/teams"
+"报告简体中文翻译错误到:https://translationproject.org/team/zh_CN.html ."
 
-#: guix/ui.scm:316
+#: guix/ui.scm:410
 #, scheme-format
 msgid ""
 "\n"
@@ -1877,7 +2636,7 @@ msgstr ""
 "\n"
 "~a 项目首页:<~a>"
 
-#: guix/ui.scm:318
+#: guix/ui.scm:412
 msgid ""
 "\n"
 "General help using GNU software: <http://www.gnu.org/gethelp/>"
@@ -1885,238 +2644,281 @@ msgstr ""
 "\n"
 "使用 GNU 软件的一般性帮助:<http://www.gnu.org/gethelp/>"
 
-#: guix/ui.scm:363
+#: guix/ui.scm:457
 #, scheme-format
 msgid "'~a' is not a valid regular expression: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:369
+#: guix/ui.scm:463
 #, scheme-format
 msgid "~a: invalid number~%"
 msgstr "~a: 无效的数字~%"
 
-#: guix/ui.scm:386
+#: guix/ui.scm:480
 #, scheme-format
 msgid "invalid number: ~a~%"
 msgstr "无效的数字:~a~%"
 
-#: guix/ui.scm:409
+#: guix/ui.scm:503
 #, scheme-format
 msgid "unknown unit: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:420
+#: guix/ui.scm:520
 #, scheme-format
 msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:427
+#: guix/ui.scm:527
 #, scheme-format
 msgid "~a: ~a: build system `~a' does not support cross builds~%"
 msgstr ""
 
-#: guix/ui.scm:432
+#: guix/ui.scm:533
+#, fuzzy, scheme-format
+#| msgid "signature is not a valid s-expression"
+msgid "~s: invalid G-expression input~%"
+msgstr "签名不是有效的 S-表达式"
+
+#: guix/ui.scm:536
 #, scheme-format
 msgid "profile '~a' does not exist~%"
 msgstr ""
 
-#: guix/ui.scm:435
+#: guix/ui.scm:539
 #, scheme-format
 msgid "generation ~a of profile '~a' does not exist~%"
 msgstr ""
 
-#: guix/ui.scm:442
+#: guix/ui.scm:548
+#, scheme-format
+msgid "   ... propagated from ~a@~a~%"
+msgstr ""
+
+#: guix/ui.scm:553
+#, scheme-format
+msgid "profile contains conflicting entries for ~a:~a~%"
+msgstr ""
+
+#: guix/ui.scm:556
+#, scheme-format
+msgid "  first entry: ~a@~a:~a ~a~%"
+msgstr ""
+
+#: guix/ui.scm:562
+#, scheme-format
+msgid "  second entry: ~a@~a:~a ~a~%"
+msgstr ""
+
+#: guix/ui.scm:573
 #, scheme-format
 msgid "corrupt input while restoring '~a' from ~s~%"
 msgstr ""
 
-#: guix/ui.scm:444
+#: guix/ui.scm:575
 #, scheme-format
 msgid "corrupt input while restoring archive from ~s~%"
 msgstr ""
 
-#: guix/ui.scm:447
+#: guix/ui.scm:578
 #, scheme-format
 msgid "failed to connect to `~a': ~a~%"
 msgstr "连接到 `~a' 失败:~a~%"
 
-#: guix/ui.scm:452
+#: guix/ui.scm:583
 #, scheme-format
 msgid "build failed: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:455
+#: guix/ui.scm:586
 #, scheme-format
 msgid "reference to invalid output '~a' of derivation '~a'~%"
 msgstr ""
 
-#: guix/ui.scm:466
+#: guix/ui.scm:590
+#, scheme-format
+msgid "file '~a' could not be found in these directories:~{ ~a~}~%"
+msgstr ""
+
+#: guix/ui.scm:607
 #, scheme-format
 msgid "~a: ~a~%"
 msgstr ""
 
-#: guix/ui.scm:501
+#: guix/ui.scm:642
 #, scheme-format
 msgid "failed to read expression ~s: ~s~%"
 msgstr ""
 
-#: guix/ui.scm:507
+#: guix/ui.scm:648
 #, scheme-format
 msgid "failed to evaluate expression '~a':~%"
 msgstr ""
 
-#: guix/ui.scm:510
+#: guix/ui.scm:651
 #, scheme-format
 msgid "syntax error: ~a~%"
 msgstr "语法错误:~a~%"
 
-#: guix/ui.scm:524
+#: guix/ui.scm:669
 #, scheme-format
 msgid "expression ~s does not evaluate to a package~%"
 msgstr ""
 
-#: guix/ui.scm:586
+#: guix/ui.scm:688
+msgid "at least ~,1h MB needed but only ~,1h MB available in ~a~%"
+msgstr ""
+
+#: guix/ui.scm:756
 #, scheme-format
 msgid "~:[The following derivation would be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following derivations would be built:~%~{   ~a~%~}~;~]"
 msgstr[0] ""
 
-#: guix/ui.scm:591
+#. TRANSLATORS: "MB" is for "megabyte"; it should be
+#. translated to the corresponding abbreviation.
+#: guix/ui.scm:764
+msgid "~:[~,1h MB would be downloaded:~%~{   ~a~%~}~;~]"
+msgstr ""
+
+#: guix/ui.scm:769
 #, scheme-format
 msgid "~:[The following file would be downloaded:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following files would be downloaded:~%~{   ~a~%~}~;~]"
 msgstr[0] ""
 
-#: guix/ui.scm:597
+#: guix/ui.scm:776
 #, scheme-format
 msgid "~:[The following derivation will be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following derivations will be built:~%~{   ~a~%~}~;~]"
 msgstr[0] ""
 
-#: guix/ui.scm:602
+#. TRANSLATORS: "MB" is for "megabyte"; it should be
+#. translated to the corresponding abbreviation.
+#: guix/ui.scm:784
+msgid "~:[~,1h MB will be downloaded:~%~{   ~a~%~}~;~]"
+msgstr ""
+
+#: guix/ui.scm:789
 #, scheme-format
 msgid "~:[The following file will be downloaded:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following files will be downloaded:~%~{   ~a~%~}~;~]"
 msgstr[0] ""
 
-#: guix/ui.scm:657
+#: guix/ui.scm:849
 #, scheme-format
 msgid "The following package would be removed:~%~{~a~%~}~%"
 msgid_plural "The following packages would be removed:~%~{~a~%~}~%"
 msgstr[0] ""
 
-#: guix/ui.scm:662
+#: guix/ui.scm:854
 #, scheme-format
 msgid "The following package will be removed:~%~{~a~%~}~%"
 msgid_plural "The following packages will be removed:~%~{~a~%~}~%"
 msgstr[0] ""
 
-#: guix/ui.scm:675
+#: guix/ui.scm:867
 #, scheme-format
 msgid "The following package would be downgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%"
 msgstr[0] ""
 
-#: guix/ui.scm:680
+#: guix/ui.scm:872
 #, scheme-format
 msgid "The following package will be downgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%"
 msgstr[0] ""
 
-#: guix/ui.scm:693
+#: guix/ui.scm:885
 #, scheme-format
 msgid "The following package would be upgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%"
 msgstr[0] ""
 
-#: guix/ui.scm:698
+#: guix/ui.scm:890
 #, scheme-format
 msgid "The following package will be upgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%"
 msgstr[0] ""
 
-#: guix/ui.scm:709
+#: guix/ui.scm:901
 #, scheme-format
 msgid "The following package would be installed:~%~{~a~%~}~%"
 msgid_plural "The following packages would be installed:~%~{~a~%~}~%"
 msgstr[0] ""
 
-#: guix/ui.scm:714
+#: guix/ui.scm:906
 #, scheme-format
 msgid "The following package will be installed:~%~{~a~%~}~%"
 msgid_plural "The following packages will be installed:~%~{~a~%~}~%"
 msgstr[0] ""
 
-#: guix/ui.scm:731
+#: guix/ui.scm:923
 msgid "<unknown location>"
 msgstr "<未知位置>"
 
-#: guix/ui.scm:750
-#, scheme-format
-msgid "failed to create configuration directory `~a': ~a~%"
-msgstr ""
-
-#: guix/ui.scm:869 guix/ui.scm:883
-msgid "unknown"
-msgstr "未知"
-
-#: guix/ui.scm:1033
+#: guix/ui.scm:1285
 #, scheme-format
 msgid "Generation ~a\t~a"
 msgstr ""
 
-#: guix/ui.scm:1040
+#. TRANSLATORS: The word "current" here is an adjective for
+#. "Generation", as in "current generation".  Use the appropriate
+#. gender where applicable.
+#: guix/ui.scm:1295
 #, scheme-format
 msgid "~a\t(current)~%"
 msgstr "~a\t(当前)~%"
 
-#: guix/ui.scm:1057
+#: guix/ui.scm:1338
 #, scheme-format
 msgid "switched from generation ~a to ~a~%"
 msgstr ""
 
-#: guix/ui.scm:1073
+#: guix/ui.scm:1354
 #, scheme-format
 msgid "deleting ~a~%"
 msgstr "正删除 ~a~%"
 
-#: guix/ui.scm:1121
+#: guix/ui.scm:1385
 #, scheme-format
 msgid "Try `guix --help' for more information.~%"
 msgstr "请尝试 “guix --help”,以获取更多信息。~%"
 
-#: guix/ui.scm:1148
+#: guix/ui.scm:1413
 msgid ""
 "Usage: guix COMMAND ARGS...\n"
 "Run COMMAND with ARGS.\n"
 msgstr ""
 
-#: guix/ui.scm:1151
+#: guix/ui.scm:1416
 msgid "COMMAND must be one of the sub-commands listed below:\n"
 msgstr ""
 
-#: guix/ui.scm:1171
+#: guix/ui.scm:1436
 #, scheme-format
 msgid "guix: ~a: command not found~%"
 msgstr "guix:~a:未找到命令~%"
 
-#: guix/ui.scm:1188
+#: guix/ui.scm:1466
 #, scheme-format
 msgid "guix: missing command name~%"
 msgstr ""
 
-#: guix/ui.scm:1196
+#: guix/ui.scm:1474
 #, scheme-format
 msgid "guix: unrecognized option '~a'~%"
-msgstr ""
+msgstr "guix: 无法识别的选项“~a”~%"
 
-#: guix/http-client.scm:261
+#: guix/http-client.scm:269
 #, scheme-format
 msgid "following redirection to `~a'...~%"
 msgstr ""
 
-#: guix/http-client.scm:270
-msgid "download failed"
+#: guix/http-client.scm:281
+#, fuzzy, scheme-format
+#| msgid "download failed"
+msgid "~a: HTTP download failed: ~a (~s)"
 msgstr "下载失败"
 
 #: guix/nar.scm:155
@@ -2162,139 +2964,145 @@ msgstr ""
 msgid "invalid inter-file archive mark"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:61
+#: nix/nix-daemon/guix-daemon.cc:66
 msgid "guix-daemon -- perform derivation builds and store accesses"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:63
+#: nix/nix-daemon/guix-daemon.cc:68
 msgid "This program is a daemon meant to run in the background.  It serves requests sent over a Unix-domain socket.  It accesses the store, and builds derivations on behalf of its clients."
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:87
+#: nix/nix-daemon/guix-daemon.cc:94
 msgid "SYSTEM"
 msgstr "系统"
 
-#: nix/nix-daemon/guix-daemon.cc:88
+#: nix/nix-daemon/guix-daemon.cc:95
 msgid "assume SYSTEM as the current system type"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:89 nix/nix-daemon/guix-daemon.cc:92
+#: nix/nix-daemon/guix-daemon.cc:96 nix/nix-daemon/guix-daemon.cc:99
 msgid "N"
 msgstr "N"
 
-#: nix/nix-daemon/guix-daemon.cc:90
+#: nix/nix-daemon/guix-daemon.cc:97
 msgid "use N CPU cores to build each derivation; 0 means as many as available"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:93
+#: nix/nix-daemon/guix-daemon.cc:100
 msgid "allow at most N build jobs"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:95
+#: nix/nix-daemon/guix-daemon.cc:101 nix/nix-daemon/guix-daemon.cc:103
+msgid "SECONDS"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:102
+msgid "mark builds as failed after SECONDS of activity"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:104
+msgid "mark builds as failed after SECONDS of silence"
+msgstr ""
+
+#: nix/nix-daemon/guix-daemon.cc:106
 msgid "disable chroot builds"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:96
+#: nix/nix-daemon/guix-daemon.cc:107
 msgid "DIR"
 msgstr "目录"
 
-#: nix/nix-daemon/guix-daemon.cc:97
+#: nix/nix-daemon/guix-daemon.cc:108
 msgid "add DIR to the build chroot"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:98
+#: nix/nix-daemon/guix-daemon.cc:109
 msgid "GROUP"
 msgstr "组"
 
-#: nix/nix-daemon/guix-daemon.cc:99
+#: nix/nix-daemon/guix-daemon.cc:110
 msgid "perform builds as a user of GROUP"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:101
+#: nix/nix-daemon/guix-daemon.cc:112
 msgid "do not use substitutes"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:102
+#: nix/nix-daemon/guix-daemon.cc:113
 msgid "URLS"
-msgstr "网址们"
+msgstr "网址"
 
-#: nix/nix-daemon/guix-daemon.cc:103
+#: nix/nix-daemon/guix-daemon.cc:114
 msgid "use URLS as the default list of substitute providers"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:105
+#: nix/nix-daemon/guix-daemon.cc:116
 msgid "do not use the 'build hook'"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:107
+#: nix/nix-daemon/guix-daemon.cc:118
 msgid "cache build failures"
-msgstr ""
+msgstr "对构建失败进行缓存"
 
-#: nix/nix-daemon/guix-daemon.cc:109
+#: nix/nix-daemon/guix-daemon.cc:120
 msgid "build each derivation N times in a row"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:111
+#: nix/nix-daemon/guix-daemon.cc:122
 msgid "do not keep build logs"
-msgstr ""
+msgstr "不要保留构建日志"
 
-#: nix/nix-daemon/guix-daemon.cc:113
+#: nix/nix-daemon/guix-daemon.cc:124
 msgid "disable compression of the build logs"
-msgstr ""
+msgstr "禁用构建日志压缩"
 
-#: nix/nix-daemon/guix-daemon.cc:118
+#: nix/nix-daemon/guix-daemon.cc:129
 msgid "disable automatic file \"deduplication\" in the store"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:128
+#: nix/nix-daemon/guix-daemon.cc:139
 msgid "impersonate Linux 2.6"
 msgstr "模拟 Linux 2.6"
 
-#: nix/nix-daemon/guix-daemon.cc:132
+#: nix/nix-daemon/guix-daemon.cc:143
 msgid "tell whether the GC must keep outputs of live derivations"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:135
+#: nix/nix-daemon/guix-daemon.cc:146
 msgid "tell whether the GC must keep derivations corresponding to live outputs"
 msgstr ""
 
-#: nix/nix-daemon/guix-daemon.cc:138
+#: nix/nix-daemon/guix-daemon.cc:149
 msgid "SOCKET"
 msgstr "套接字"
 
-#: nix/nix-daemon/guix-daemon.cc:139
+#: nix/nix-daemon/guix-daemon.cc:150
 msgid "listen for connections on SOCKET"
 msgstr "侦听 <套接字> 上的链接"
 
-#: nix/nix-daemon/guix-daemon.cc:141
+#: nix/nix-daemon/guix-daemon.cc:152
 msgid "produce debugging output"
 msgstr "生成调试输出"
 
-#: nix/nix-daemon/guix-daemon.cc:201
-#, c-format
-msgid "error: %s: invalid number of rounds\n"
-msgstr ""
+#~ msgid "unrecognized option: ~a~%"
+#~ msgstr "无法识别的选项: ~a~%"
 
-#: nix/nix-daemon/guix-daemon.cc:220 nix/nix-daemon/guix-daemon.cc:396
-#, c-format
-msgid "error: %s\n"
-msgstr "错误:%s\n"
+#~ msgid "~A: unexpected argument~%"
+#~ msgstr "~A: 未预期的参数~%"
 
-#: nix/nix-daemon/guix-daemon.cc:281
-#, c-format
-msgid "error: libgcrypt version mismatch\n"
-msgstr "错误:libgcrypt 版本不匹配\n"
+#, fuzzy
+#~| msgid "failed to connect to `~a': ~a~%"
+#~ msgid "failed to lookup NIST host: ~a~%"
+#~ msgstr "连接到 `~a' 失败:~a~%"
 
-#: nix/nix-daemon/guix-daemon.cc:372
-#, c-format
-msgid "warning: daemon is running as root, so using `--build-users-group' is highly recommended\n"
-msgstr ""
+#~ msgid "too many arguments\n"
+#~ msgstr "太多参数\n"
 
-#~ msgid "looking for the latest release of GNU ~a..."
-#~ msgstr "寻找最新版的 GNU~a..."
+#~ msgid "error: %s\n"
+#~ msgstr "错误:%s\n"
+
+#~ msgid "error: libgcrypt version mismatch\n"
+#~ msgstr "错误:libgcrypt 版本不匹配\n"
 
 #~ msgid "~a: note: using ~a but ~a is available upstream~%"
 #~ msgstr "~a: 注意: 使用 ~a 但 ~a 在上游可用~%"
-
-#~ msgid "~a: package not found~%"
-#~ msgstr "~a: 包未找到~%"