# Simplified Chinese translation to dpkg.
# Copyright (C) 2004 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Copyrights:
# Kov Chai <tchaikov@sjtu.edu.cn>, 2005,2006.
# Hiweed Leng <hiweed@163.com>, 2004.
# Carlos Z.F. Liu <carlosliu@users.sourceforge.net>, 2004.
#
msgid ""
msgstr ""
"Project-Id-Version: dpkg 1.13\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
"POT-Creation-Date: 2011-10-14 07:11+0200\n"
"PO-Revision-Date: 2006-05-06 20:11+0800\n"
"Last-Translator: Kov Chai <tchaikov@sjtu.edu.cn>\n"
"Language-Team: Debian Chinese [GB] <debian-chinese-gb@lists.debian.org>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: dselect/basecmds.cc:125
msgid "Search for ? "
msgstr "想搜索什么？"

#: dselect/basecmds.cc:147
msgid "Error: "
msgstr "错误："

#: dselect/basecmds.cc:178
msgid "Help: "
msgstr "帮助："

#: dselect/basecmds.cc:184
msgid "Press ? for help menu, . for next topic, <space> to exit help."
msgstr ""
"摁 ? 可以弹出帮助菜单，用 . 来进入下个主题，通过 <空格> 就能退出帮助界面。"

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr "您可获得有关下列主题的帮助信息："

#: dselect/basecmds.cc:199
msgid ""
"Press a key from the list above, <space> or `q' to exit help,\n"
"  or `.' (full stop) to read each help page in turn. "
msgstr ""
"请摁上面列表中所示的按键，用 <空格> 或者“q”来退出帮助界面，\n"
"或者用“.”(英文句点)来依次阅读帮助页面。"

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "在帮助界面读取键盘输入时出错"

#: dselect/baselist.cc:57
msgid "ioctl(TIOCGWINSZ) failed"
msgstr "ioctl(TIOCGWINSZ) 失败"

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr "在 SIGWINCH 的处理函数里 doupdate 失败了"

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr "恢复原先的 SIGWINCH sigact 失败"

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr "恢复原先的 signal mask 失败"

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr "获取原先的 signal mask 失败"

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr "获取原先的 SIGWINCH sigact 出错"

#: dselect/baselist.cc:84
msgid "failed to block SIGWINCH"
msgstr "无法阻塞 SIGWINCH 信号"

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr "设置新的 SIGWINCH sigact 失败"

#: dselect/baselist.cc:126
msgid "failed to allocate colour pair"
msgstr "分配颜色对失败"

#: dselect/baselist.cc:167
msgid "failed to create title window"
msgstr "创建标题窗口失败"

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "创建 whatinfo 窗口失败"

#: dselect/baselist.cc:175
msgid "failed to create baselist pad"
msgstr "无法新建基列表的小窗口"

#: dselect/baselist.cc:178
msgid "failed to create heading pad"
msgstr "无法新建标题小窗口"

#: dselect/baselist.cc:182
msgid "failed to create thisstate pad"
msgstr "无法新建 thisstate 小窗口"

#: dselect/baselist.cc:186
msgid "failed to create info pad"
msgstr "无法新建相关信息小窗口"

#: dselect/baselist.cc:191
msgid "failed to create query window"
msgstr "创建查询窗口失败"

#: dselect/baselist.cc:255
#, fuzzy
msgid "Keybindings"
msgstr "键位绑定"

#: dselect/baselist.cc:303
#, c-format
msgid "  -- %d%%, press "
msgstr "  -- %d%%，请摁 "

#: dselect/baselist.cc:306
#, c-format
msgid "%s for more"
msgstr "%s 继续往下读"

#: dselect/baselist.cc:310
#, c-format
msgid "%s to go back"
msgstr "%s 可以跳回原来的位置"

#: dselect/bindings.cc:78
msgid "[not bound]"
msgstr "[未绑定]"

#: dselect/bindings.cc:82
#, c-format
msgid "[unk: %d]"
msgstr "[未知：%d]"

#: dselect/bindings.cc:139
msgid "Scroll onwards through help/information"
msgstr "在帮助文档或相关信息中向前滚动"

#: dselect/bindings.cc:140
msgid "Scroll backwards through help/information"
msgstr "在帮助或相关信息中向前滚动"

#: dselect/bindings.cc:141
msgid "Move up"
msgstr "上移"

#: dselect/bindings.cc:142
msgid "Move down"
msgstr "下移"

#: dselect/bindings.cc:143
msgid "Go to top of list"
msgstr "跳到顶端列表"

#: dselect/bindings.cc:144
msgid "Go to end of list"
msgstr "跳到底端列表"

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "请求帮助(在帮助界面周游)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "在相关信息界面里周游"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "重画屏幕"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "在列表中向前滚动一行"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "在列表中向后滚动一行"

#: dselect/bindings.cc:150
msgid "Scroll onwards through help/information by 1 line"
msgstr "在帮助或相关信息中向前滚动一行"

#: dselect/bindings.cc:151
msgid "Scroll backwards through help/information by 1 line"
msgstr "在帮助或相关信息中向后滚动一行"

#: dselect/bindings.cc:152
msgid "Scroll onwards through list"
msgstr "在列表中向前滚动"

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "在列表中向前滚动"

#: dselect/bindings.cc:156
msgid "Mark package(s) for installation"
msgstr "把软件包标记为“将要安装”"

#: dselect/bindings.cc:157
msgid "Mark package(s) for deinstallation"
msgstr "把软件包标记为“将要卸载”"

#: dselect/bindings.cc:158
msgid "Mark package(s) for deinstall and purge"
msgstr "把软件包标记为“卸载并清除”"

#: dselect/bindings.cc:159
msgid "Make highlight more specific"
msgstr "让高亮显示更有针对性"

#: dselect/bindings.cc:160
msgid "Make highlight less specific"
msgstr "让高亮显示更没有针对性"

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "搜索软件包名字含有特定字符串的软件包"

#: dselect/bindings.cc:162
msgid "Repeat last search."
msgstr "重复上次的搜索。"

#: dselect/bindings.cc:163
msgid "Swap sort order priority/section"
msgstr "调整排序的依据 - 优先级/所属大类"

#: dselect/bindings.cc:164
msgid "Quit, confirming, and checking dependencies"
msgstr "退出，并确认操作而且对依赖问题进行复查"

#: dselect/bindings.cc:165
msgid "Quit, confirming without check"
msgstr "退出，并确认操作而且不再检查"

#: dselect/bindings.cc:166
msgid "Quit, rejecting conflict/dependency suggestions"
msgstr "退出，并拒绝有关冲突和依赖问题的建议"

#: dselect/bindings.cc:167
msgid "Abort - quit without making changes"
msgstr "中止操作 - 不作任何更改并退出"

#: dselect/bindings.cc:168
msgid "Revert to old state for all packages"
msgstr "把所有软件包的状态恢复到修改前"

#: dselect/bindings.cc:169
msgid "Revert to suggested state for all packages"
msgstr "把所有软件包的状态恢复到建议值"

#: dselect/bindings.cc:170
msgid "Revert to directly requested state for all packages"
msgstr "把所有软件包的状态恢复到所要求的值"

#: dselect/bindings.cc:171
#, fuzzy
msgid "Revert to currently installed state for all packages"
msgstr "把所有软件包的状态恢复到所要求的值"

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "选中当前高亮显示的安装手段"

#: dselect/bindings.cc:175
msgid "Quit without changing selected access method"
msgstr "退出程序，而且不修改所选的安装手段"

#: dselect/helpmsgs.cc:29
msgid "Keystrokes"
msgstr "按键操作"

#: dselect/helpmsgs.cc:29
#, fuzzy
msgid ""
"Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  j, Down-arrow         k, Up-arrow             move highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   scroll list by 1 page\n"
"  ^n                    ^p                      scroll list by 1 line\n"
"  t, Home               e, End                  jump to top/end of list\n"
"  u                     d                       scroll info by 1 page\n"
"  ^u                    ^d                      scroll info by 1 line\n"
"  B, Left-arrow         F, Right-arrow          pan display by 1/3 screen\n"
"  ^b                    ^f                      pan display by 1 character\n"
"\n"
"Mark packages for later processing:\n"
" +, Insert  install or upgrade      =, H  hold in present state\n"
" -, Delete  remove                  :, G  unhold: upgrade or leave "
"uninstalled\n"
" _          remove & purge config\n"
"                                             Miscellaneous:\n"
"Quit, exit, overwrite (note capitals!):       ?, F1 request help (also "
"Help)\n"
" Return  Confirm, quit (check dependencies)   i, I  toggle/cycle info "
"displays\n"
"   Q     Confirm, quit (override dep.s)       o, O  cycle through sort "
"options\n"
" X, Esc  eXit, abandoning any changes made    v, V  change status display "
"opts\n"
"   R     Revert to state before this list      ^l   redraw display\n"
"   U     set all to sUggested state             /   search (Return to "
"cancel)\n"
"   D     set all to Directly requested state  n, \\  repeat last search\n"
msgstr ""
"移动按键：下一个/前一个，顶端/底端，上移/下移，后移/前移：\n"
"  n，下箭头             p，上箭头               移动高亮所在的条目\n"
"  N，Page-down，空格    P，Page-up，Backspace   让列表滚动一页\n"
"  ^n                    ^p                      让列表滚动一行\n"
"  t，Home               e，End                  跳到列表的顶端/底端\n"
"  u                     d                       让相关信息滚动一页\n"
"  ^u                    ^d                      让相关信息滚动一行\n"
"  B，左箭头             F，右箭头               让显示内容左右平移 1/3 屏幕宽"
"度\n"
"  ^b                    ^f                      让显示内容左右平移一个字符宽"
"度\n"
"\n"
"为软件包作上标记，待之后再作处理：\n"
" +，Insert   安装或者升级           =，H  令其保持当前状态\n"
" - ，Delete  卸载                   :, G  取消保持：升级或者仍然不安装\n"
" _           删除并清除配置\n"
"                                             其它：\n"
"退出，改动状态(注意，都是大写！)：            ?, F1     请求帮助\n"
"  回车    确认并退出(复查依赖问题)            i, I      切换或滚动相关信息的"
"显示\n"
"   Q     确认并退出(忽略依赖问题)             o, O      滚动排序的各个选项\n"
" X, Esc  退出程序，把之前的改动作废           v, V      修改状态显示的选项\n"
"   R     把所有软件包的状态恢复到修改前       ^l        重画屏幕\n"
"   U     把所有软件包的状态改成建议值         /         搜索 (用回车取消搜"
"索)\n"
"   D     把所有软件包的状态改成到所要求的值   \\        重复上次的搜索\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "软件包自选界面简介"

#: dselect/helpmsgs.cc:55
msgid ""
"Welcome to dselect's main package listing.\n"
"\n"
"You will be presented with a list of packages which are installed or "
"available\n"
"for installation.  You can navigate around the list using the cursor keys,\n"
"mark packages for installation (using `+') or deinstallation (using `-').\n"
"Packages can be marked either singly or in groups; initially you will see "
"that\n"
"the line `All packages' is selected.  `+', `-' and so on will affect all "
"the\n"
"packages described by the highlighted line.\n"
"\n"
"Some of your choices will cause conflicts or dependency problems; you will "
"be\n"
"given a sub-list of the relevant packages, so that you can solve the "
"problems.\n"
"\n"
"You should read the list of keys and the explanations of the display.\n"
"Much on-line help is available, please make use of it - press `?' at\n"
"any time for help.\n"
"\n"
"When you have finished selecting packages, press <enter> to confirm "
"changes,\n"
"or `X' to quit without saving changes. A final check on conflicts and\n"
"dependencies will be done - here too you may see a sublist.\n"
"\n"
"Press <space> to leave help and enter the list now.\n"
msgstr ""
"欢迎来到 dselect 的软件包主列表界面。\n"
"\n"
"展现在您面前的是已经安装的或可以安装的软件包列表。\n"
"您若要想安装的话，可以使用方向键在这个列表中浏览，\n"
"为要安装的软件包作上记号(用“+”)，也可以为希望卸载\n"
"的软件包作记号(用“-”)。\n"
"作记号时，不仅可以对单个软件包作记号，还可以为成组\n"
"的软件包作记号。刚开始时您会看到“所有软件包”一行被\n"
"选中了，那么用“+”和“-”等键就可以操控被高亮显示的行\n"
"所指代的所有软件包。\n"
"\n"
"您作的一些选择可能会导致软件包间出现一些的冲突或依赖\n"
"问题，这时程序会向您提交一份相关软件的子列表，这样，\n"
"您就能解决该问题。\n"
"\n"
"您应当看看按键的列表，以及有关屏幕上显示信息的说明。\n"
"还有许多在线的帮助文档，只要在需要帮助的时候摁“?”\n"
"就可调阅它们。\n"
"\n"
"一旦您选完软件包，请摁 <回车> 键来确认刚才的修改，\n"
"或者用“X”退出且不保存修改内容。在这时，程序会最后\n"
"作一次冲突和依赖性检查……对了，您在这里可能还会看\n"
"一次相关软件的子列表。\n"
"\n"
"现在您可以通过摁 <空格> 键离开本帮助，进入列表界面了。\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr "只读软件包列表浏览界面简介"

#: dselect/helpmsgs.cc:80
msgid ""
"Welcome to dselect's main package listing.\n"
"\n"
"You will be presented with a list of packages which are installed or "
"available\n"
"for installation.  Since you do not have the privilege necessary to update\n"
"package states, you are in a read-only mode.  You can navigate around the\n"
"list using the cursor keys (please see the `Keystrokes' help screen), "
"observe\n"
"the status of the packages and read information about them.\n"
"\n"
"You should read the list of keys and the explanations of the display.\n"
"Much on-line help is available, please make use of it - press `?' at\n"
"any time for help.\n"
"\n"
"When you have finished browsing, press `Q' or <enter> to quit.\n"
"\n"
"Press <space> to leave help and enter the list now.\n"
msgstr ""
"欢迎来到 dselect 的软件包主列表界面。\n"
"\n"
"展现在您面前的是已经安装的或可以安装的软件包列表。\n"
"由于您没有权限修改软件包的状态，就只能以只读模式操\n"
"作了。您可以使用方向键在本列表中移动(请参考帮助界\n"
"面中的“按键操作”一节)，并查看软件包的状态以及获得\n"
"软件包的相关信息。\n"
"\n"
"您应当看看按键的列表，以及有关屏幕上显示信息的解释。\n"
"还有许多在线的帮助文档，只要在需要帮助的时候摁“?”\n"
"就可调阅它们。\n"
"\n"
"您看完后，请摁“Q”或者 <回车> 键来退出软件。\n"
"\n"
"现在您可以通过摁 <空格> 键离开帮助系统并进入列表界面了。\n"

#: dselect/helpmsgs.cc:99
msgid "Introduction to conflict/dependency resolution sub-list"
msgstr "用于解决冲突/依赖问题的子列表的简介"

#: dselect/helpmsgs.cc:99
msgid ""
"Dependency/conflict resolution - introduction.\n"
"\n"
"One or more of your choices have raised a conflict or dependency problem -\n"
"some packages should only be installed in conjunction with certain others, "
"and\n"
"some combinations of packages may not be installed together.\n"
"\n"
"You will see a sub-list containing the packages involved.  The bottom half "
"of\n"
"the display shows relevant conflicts and dependencies; use `i' to cycle "
"between\n"
"that, the package descriptions and the internal control information.\n"
"\n"
"A set of `suggested' packages has been calculated, and the initial markings "
"in\n"
"this sub-list have been set to match those, so you can just hit Return to\n"
"accept the suggestions if you wish.  You may abort the change(s) which "
"caused\n"
"the problem(s), and go back to the main list, by pressing capital `X'.\n"
"\n"
"You can also move around the list and change the markings so that they are "
"more\n"
"like what you want, and you can `reject' my suggestions by using the "
"capital\n"
"`D' or `R' keys (see the keybindings help screen).  You can use capital `Q' "
"to\n"
"force me to accept the situation currently displayed, in case you want to\n"
"override a recommendation or think that the program is mistaken.\n"
"\n"
"Press <space> to leave help and enter the sub-list; remember: press `?' for "
"help.\n"
msgstr ""
"依赖/冲突问题的解决办法 - 简介。\n"
"\n"
"您所作的选择中有些引起了冲突或依赖问题，即，\n"
"有些软件包必须与某些其它软件包一同安装，\n"
"而有的软件包的特定组合是不能同时安装的。\n"
"\n"
"您将会见到一个子列表，它包含了被波及到的\n"
"软件包。屏幕显示的下半部分会告诉您相关\n"
"的冲突和依赖关系。请使用“i”来浏览软件包\n"
"的简介和内部控制信息。\n"
"\n"
"这里已经分析并“建议”了一组软件包，并且\n"
"本子列表中的软件包的初始状态都已经被标记为\n"
"对应的“建议”状态。这样，如果您愿意的话，\n"
"只需摁一下回车来接受该建议。您也可以摁大写\n"
"的“X”来取消这个导致问题的更改，并回到主\n"
"列表界面。\n"
"\n"
"您也可以按照自己的需求修改列表中软件包\n"
"的状态。同时，您也可以摁大写的“D”或“R”\n"
"键(参考按键绑定的帮助界面)，来“拒绝”我\n"
"提出的建议。当您希望忽略我的建议或是认为\n"
"本软件出错时，您还可以摁大写的“Q”来强制\n"
"我接受当前显示的设定。\n"
"\n"
"请摁 <空格> 离开帮助系统并进入子列表。\n"
"请记住：需要帮助时，摁“?”键。\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "显示部位 1：软件包列表及状态简写"

#: dselect/helpmsgs.cc:125
#, fuzzy
msgid ""
"The top half of the screen shows a list of packages.  For each package you "
"see\n"
"four columns for its current status on the system and mark.  In terse mode "
"(use\n"
"`v' to toggle verbose display) these are single characters, from left to "
"right:\n"
"\n"
" Error flag: Space - no error (but package may be in broken state - see "
"below)\n"
"              `R'  - serious error during installation, needs "
"reinstallation;\n"
" Installed state:     Space    - not installed;\n"
"                       `*'     - installed;\n"
"                       `-'     - not installed but config files remain;\n"
"   packages in these { `U'     - unpacked but not yet configured;\n"
"   states are not    { `C'     - half-configured (an error happened);\n"
"   (quite) properly  { `I'     - half-installed (an error happened);\n"
"   installed         { `W',`t' - triggers are awaited resp. pending.\n"
" Old mark: what was requested for this package before presenting this list;\n"
" Mark: what is requested for this package:\n"
"  `*': marked for installation or upgrade;\n"
"  `-': marked for removal, but any configuration files will remain;\n"
"  `=': on hold: package will not be processed at all;\n"
"  `_': marked for purge completely - even remove configuration;\n"
"  `n': package is new and has yet to be marked for install/remove/&c.\n"
"\n"
"Also displayed are each package's Priority, Section, name, installed and\n"
"available version numbers (shift-V to display/hide) and summary "
"description.\n"
msgstr ""
"屏幕的上半部分显示的是软件包的列表。对每个软件包来说，\n"
"都有四列代号表示该软件包在系统中的状态以及现在被作的标记。\n"
"在简略模式里(可用“v”来切换到详尽模式)它们都是单个的字母，\n"
"从左到右分别是：\n"
"\n"
"错误标志：空白，即没有错误(但是软件包可能有故障，见下)\n"
"               “R”，  即在安装过程遭遇了严重错误，需要重新安装；\n"
"安装状态：空白，即没有安装；\n"
"               “*”，  即已安装；\n"
"               “-”，  即没有安装，但是残留有其配置文件；\n"
"     处于这些状态    { “U”，即已解压缩但还未进行配置；\n"
"         的软件包    { “C”，即不完全配置(其间有错误发生)；\n"
"     都是有故障的    { “I”，即部分安装(其间有错误发生)。\n"
"原有标记：列表显示出来之前软件包就被要求设置的成状态；\n"
"当前标记：现在软件包被要求设置的成状态：\n"
"  “*”：将其标记为安装或升级；\n"
"  “-”：将其标记为删除，但是将保留它的配置文件；\n"
"  “=”：维持原状：软件包将不动分毫；\n"
"  “_”：将其标记为完全清除，连同配置一起删除；\n"
"  “n”：软件包是新的，尚未标记过。\n"
"\n"
"另外界面上还显示有软件包的优先级、所属大类、名称、已安装\n"
"的版本号和当前可用的版本号（使用 shift-v 可以开启或关闭其\n"
"显示)，以及简要的介绍。\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr "显示部位 2：列表高亮部分；相关信息的显示"

#: dselect/helpmsgs.cc:152
msgid ""
"* Highlight: One line in the package list will be highlighted.  It "
"indicates\n"
"  which package(s) will be affected by presses of `+', `-' and `_'.\n"
"\n"
"* The dividing line in the middle of the screen shows a brief explanation "
"of\n"
"  the status of the currently-highlighted package, or a description of "
"which\n"
"  group is highlighted if a group line is.  If you don't understand the\n"
"  meaning of some of the status characters displayed, go to the relevant\n"
"  package and look at this divider line, or use the `v' key for a verbose\n"
"  display (press `v' again to go back to the terse display).\n"
"\n"
"* The bottom of the screen shows more information about the\n"
"  currently-highlighted package (if there is only one).\n"
"\n"
"  It can show an extended description of the package, the internal package\n"
"  control details (either for the installed or available version of the\n"
"  package), or information about conflicts and dependencies involving the\n"
"  current package (in conflict/dependency resolution sublists).\n"
"\n"
"  Use the `i' key to cycle through the displays, and `I' to hide the\n"
"  information display or expand it to use almost all of the screen.\n"
msgstr ""
"* 高亮：软件包列表中被高亮显示的那一行。它所在的行的\n"
"  软件包将会被“+”、“-”和“_”的按键操控。\n"
"\n"
"* 在屏幕中间的分隔条概括了当前高亮的(一组)软件包的状态。\n"
"  如果您不了解左侧状态代号的意思，请移动到相应的软件包，\n"
"  再查看分隔条，或者使用“v”键来调阅较详细的显示(再摁一次\n"
"  就可以回到简略的显示模式)。\n"
"\n"
"* 屏幕底部显示的是当前高亮的软件包(如果只有一个)的更多\n"
"  信息。\n"
"  \n"
"  它会显示关于该软件包的补充信息、软件包内部的控制细节\n"
"  (不管是已经安装的还是尚未安装的版本)、若是与当前软件包\n"
"  (出现在冲突/依赖问题解决办法子列表)有关的冲突和依赖问题。\n"
"\n"
"  您可以用“i”键在这些显示内容中来回切换，用“I”来关闭相关信息\n"
"  的显示，或者扩大它在屏幕中所占的幅面直到几乎完全占据屏幕。\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "安装手段选择界面的简介"

#: dselect/helpmsgs.cc:176
msgid ""
"dselect and dpkg can do automatic installation, loading the package files to "
"be\n"
"installed from one of a number of different possible places.\n"
"\n"
"This list allows you to select one of these installation methods.\n"
"\n"
"Move the highlight to the method you wish to use, and hit Enter.  You will "
"then\n"
"be prompted for the information required to do the installation.\n"
"\n"
"As you move the highlight a description of each method, where available, is\n"
"displayed in the bottom half of the screen.\n"
"\n"
"If you wish to quit without changing anything use the `x' key while in the "
"list\n"
"of installation methods.\n"
"\n"
"A full list of keystrokes is available by pressing `k' now, or from the "
"help\n"
"menu reachable by pressing `?'.\n"
msgstr ""
"dselect 和 dpkg 能够实现自动化的安装，它们可以从多个不同的地址取回\n"
"要安装的软件包文件。\n"
"\n"
"本列表可以让您从这些安装手段中选择一个。\n"
"\n"
"请移动高亮条到您希望使用的安装手段，再摁回车。然后软件会提示您输入\n"
"这种安装手段所必须的一些相关信息。\n"
"\n"
"如果您想要退出程序，而且不做任何变动，那么请在安装手段列表的界面中\n"
"使用“x”键。\n"
"\n"
"现在摁“k”键就能见到按键操作的完整列表，也可以在帮助菜单中摁“k”键。\n"
"摁“?”就能呼出帮助菜单。\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "选择安装手段的按键操作"

#: dselect/helpmsgs.cc:196
#, fuzzy
msgid ""
"Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  j, Down-arrow         k, Up-arrow             move highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   scroll list by 1 page\n"
"  ^n                    ^p                      scroll list by 1 line\n"
"  t, Home               e, End                  jump to top/end of list\n"
"  u                     d                       scroll info by 1 page\n"
"  ^u                    ^d                      scroll info by 1 line\n"
"  B, Left-arrow         F, Right-arrow          pan display by 1/3 screen\n"
"  ^b                    ^f                      pan display by 1 character\n"
"(These are the same motion keys as in the package list display.)\n"
"\n"
"Quit:\n"
" Return, Enter    select this method and go to its configuration dialogue\n"
" x, X             exit without changing or setting up the installation "
"method\n"
"\n"
"Miscellaneous:\n"
"  ?, Help, F1      request help\n"
" ^l                redraw display\n"
"  /                search (just return to cancel)\n"
"  \\                repeat last search\n"
msgstr ""
"移动按键：下一个/前一个，顶端/底端，上移/下移，后移/前移：\n"
"  n，下箭头             p，上箭头               移动高亮所在的条目\n"
"  N，Page-down，空格    P，Page-up，Backspace   让列表滚动一页\n"
"  ^n                    ^p                      让列表滚动一行\n"
"  t，Home               e，End                  跳到列表的顶端/底端\n"
"  u                     d                       让相关信息滚动一页\n"
"  ^u                    ^d                      让相关信息滚动一行\n"
"  B，左箭头             F，右箭头               让显示内容左右平移 1/3 的屏幕"
"宽度\n"
"  ^b                    ^f                      让显示内容左右平移一个字符宽"
"度\n"
"(在软件包列表界面也使用同样的按键设置。)\n"
"\n"
"退出：\n"
" 回车             选中该安装手段，并进入其设置界面\n"
" x，X             退出，而且不对安装手段作任何更改或设置\n"
"\n"
"其它：\n"
"  ?, Help, F1      请求帮助\n"
" ^l                重画屏幕\n"
"  /                进行搜索(摁回车取消搜索)\n"
"  \\               重复上次的搜索\n"

#: dselect/main.cc:60
msgid "Type dselect --help for help."
msgstr "输入 dselect --help 就可以阅读帮助信息。"

#: dselect/main.cc:143
msgid "a"
msgstr "a"

#: dselect/main.cc:143
msgid "[A]ccess"
msgstr "来源[A]"

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr "选择所使用的安装来源。"

#: dselect/main.cc:144
msgid "u"
msgstr "u"

#: dselect/main.cc:144
msgid "[U]pdate"
msgstr "更新[U]"

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "如果可能的话，更新可用的软件包列表。"

#: dselect/main.cc:145
msgid "s"
msgstr "s"

#: dselect/main.cc:145
msgid "[S]elect"
msgstr "选择[S]"

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "对系统中安装的软件包进行取舍。"

#: dselect/main.cc:146
msgid "i"
msgstr "i"

#: dselect/main.cc:146
msgid "[I]nstall"
msgstr "安装[I]"

#: dselect/main.cc:146
msgid "Install and upgrade wanted packages."
msgstr "安装并升级之前指定的软件包。"

#: dselect/main.cc:147
msgid "c"
msgstr "c"

#: dselect/main.cc:147
msgid "[C]onfig"
msgstr "配置[C]"

#: dselect/main.cc:147
msgid "Configure any packages that are unconfigured."
msgstr "对所有还未配置的软件包进行配置"

#: dselect/main.cc:148
msgid "r"
msgstr "r"

#: dselect/main.cc:148
msgid "[R]emove"
msgstr "删除[R]"

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr "删除不需要的软件包"

#: dselect/main.cc:149
msgid "q"
msgstr "q"

#: dselect/main.cc:149
msgid "[Q]uit"
msgstr "退出[Q]"

#: dselect/main.cc:149
msgid "Quit dselect."
msgstr "退出 dselect 程序"

#: dselect/main.cc:150
msgid "menu"
msgstr "菜单"

#: dselect/main.cc:155
#, c-format
msgid "Debian `%s' package handling frontend version %s.\n"
msgstr "Debian “%s” 软件包操作前端 %s 版。\n"

#: dselect/main.cc:158
msgid ""
"Copyright (C) 1994-1996 Ian Jackson.\n"
"Copyright (C) 2000,2001 Wichert Akkerman.\n"
msgstr ""
"版权所有 (C) 1994-1996 Ian Jackson。\n"
"版权所有 (C) 2000,2001 Wichert Akkerman。\n"

#: dselect/main.cc:162
#, fuzzy
msgid ""
"This is free software; see the GNU General Public License version 2 or\n"
"later for copying conditions. There is NO warranty.\n"
msgstr ""
"这是自由软件；要获知复制该软件的前提和条件，请参阅 GNU 公共许可证的\n"
"第二版或其更新的版本。该软件【不】提供任何担保。\n"
"请通过执行 %s --licence 来查看版权和许可证的细节。\n"

#: dselect/main.cc:172 dselect/main.cc:220
msgid "<standard output>"
msgstr ""

#: dselect/main.cc:183
#, c-format
msgid ""
"Usage: %s [<option> ...] [<action> ...]\n"
"\n"
msgstr ""
"用法：%s [<选项> ...] [<操作> ...]\n"
"\n"

#: dselect/main.cc:187
#, c-format
msgid ""
"Options:\n"
"  --admindir <directory>     Use <directory> instead of %s.\n"
"  --expert                   Turn on expert mode.\n"
"  --debug <file> | -D<file>  Turn on debugging, sending output to <file>.\n"
"  --colour | --color screenpart:[foreground],[background][:attr[+attr+..]]\n"
"                             Configure screen colours.\n"
"\n"
msgstr ""
"选项：\n"
"  --admindir <目录>          使用 <目录> 而非 %s。\n"
"  --expert                   开启专家模式。\n"
"  --debug <文件> | -D<文件>  打开调试信息，并把输出送到 <文件>。\n"
"  --colour | --color 显示区块:[前景],[背景][:属性[+属性+..]]\n"
"                             设置显示所用的配色。\n"
"\n"

#: dselect/main.cc:196
#, fuzzy, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""
"  --help                     显示本帮助信息。\n"
"  --version                  显示版本信息。\n"
"  --license | --license      显示许可证。\n"
"\n"

#: dselect/main.cc:201
#, c-format
msgid ""
"Actions:\n"
"  access update select install config remove quit\n"
"\n"
msgstr ""
"操作：\n"
"  手段 更新 选择 安装 设置 卸载 退出\n"
"\n"

#: dselect/main.cc:205
#, c-format
msgid "Screenparts:\n"
msgstr "显示部位：\n"

#: dselect/main.cc:210
#, c-format
msgid "Colours:\n"
msgstr "颜色：\n"

#: dselect/main.cc:215
#, c-format
msgid "Attributes:\n"
msgstr "属性：\n"

#: dselect/main.cc:233
#, c-format
msgid "couldn't open debug file `%.255s'\n"
msgstr "无法打开调试信息文件“%.255s”\n"

#: dselect/main.cc:253
#, c-format
msgid "Invalid %s `%s'\n"
msgstr "无效的 %s “%s”\n"

#: dselect/main.cc:270
msgid "screen part"
msgstr "显示部分"

#: dselect/main.cc:276
msgid "Null colour specification\n"
msgstr "未指定颜色\n"

#: dselect/main.cc:284 dselect/main.cc:289
msgid "colour"
msgstr "颜色"

#: dselect/main.cc:297
msgid "colour attribute"
msgstr "颜色属性"

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr "终端不支持游标的定位。\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "终端不支持高亮显示。\n"

#: dselect/main.cc:333
#, c-format
msgid ""
"Set your TERM variable correctly, use a better terminal,\n"
"or make do with the per-package management tool %s.\n"
msgstr ""
"请正确设置您的 TERM 变量，用一个更合适的终端类型，\n"
"或者转用针对单个软件包的包管理工具，即 %s。\n"

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "由于终端缺乏必要的特性，只得中止操作"

#: dselect/main.cc:417
msgid ""
"\n"
"\n"
"Move around with ^P and ^N, cursor keys, initial letters, or digits;\n"
"Press <enter> to confirm selection.   ^L redraws screen.\n"
"\n"
msgstr ""
"\n"
"\n"
"可以用 ^P 和 ^N、方向键、首字母或者数字键来移动游标；\n"
"摁 <回车> 来确认。  用 ^L 来刷屏。\n"
"\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"只读访问：仅仅可以查看被选中的项目！"

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr "在主菜单界面中 getch 失败"

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr "不能识别的操作字串“%.50s”"

#: dselect/methlist.cc:77
msgid "dselect - list of access methods"
msgstr "dselect - 安装手段的列表"

#: dselect/methlist.cc:86
#, c-format
msgid "Access method `%s'."
msgstr "安装手段“%s”。"

#: dselect/methlist.cc:120
msgid "Abbrev."
msgstr "缩写"

#: dselect/methlist.cc:121 dselect/pkginfo.cc:105 dselect/pkgtop.cc:291
msgid "Description"
msgstr "简介"

#: dselect/methlist.cc:164 dselect/pkglist.cc:572
msgid "doupdate failed"
msgstr "doupdate 失败"

#: dselect/methlist.cc:166 dselect/pkglist.cc:575
msgid "failed to unblock SIGWINCH"
msgstr "无法取消阻塞 SIGWINCH 信号"

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr "重新阻塞 SIGWINCH 信号失败"

#: dselect/methlist.cc:171 dselect/pkglist.cc:582
msgid "getch failed"
msgstr "getch 失败"

#: dselect/methlist.cc:188
#, fuzzy
msgid "Explanation"
msgstr "后面安装手段的说明"

#: dselect/methlist.cc:197
msgid "No explanation available."
msgstr "没有发现相应的说明。"

#: dselect/method.cc:67
#, c-format
msgid ""
"\n"
"\n"
"%s: %s\n"
msgstr ""
"\n"
"\n"
"%s：%s\n"

#: dselect/method.cc:70
msgid ""
"\n"
"Press <enter> to continue."
msgstr ""
"\n"
"摁 <回车> 继续。"

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr "请摁 <回车> 继续。\n"

#: dselect/method.cc:162
#, fuzzy
msgid "<standard error>"
msgstr "写标准错误输出时出错"

#: dselect/method.cc:165
msgid "error reading acknowledgement of program failure message"
msgstr "读取程序的错误提示时出错"

#: dselect/method.cc:196
msgid "update available list script"
msgstr "更新可用软件包列表的脚本"

#: dselect/method.cc:200
msgid "installation script"
msgstr "软件包安装脚本"

#: dselect/method.cc:246
msgid "query/setup script"
msgstr "查询/设置脚本"

#: dselect/methparse.cc:53
#, c-format
msgid "syntax error in method options file `%.250s' -- %s"
msgstr "安装手段的选项文件“%.250s”中有语法错误 -- %s"

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr "读取安装手段的选项文件“%.250s”时出错"

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr "无法读取“%.250s”目录以获取安装手段的相关信息"

#: dselect/methparse.cc:106
#, c-format
msgid "method `%.250s' has name that is too long (%d > %d characters)"
msgstr "安装手段“%.250s”的名字超长(%d > %d 个字符)"

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "无法访问手段脚本“%.250s”"

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "无法读取手段脚本“%.250s”"

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr "在本该有数字的地方没有发现数字"

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr "在索引字串中发现了 EOF"

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "索引字串超长"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "在选项名开始前就发现了换行符"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "在选项名开始前就发现了 EOF"

#: dselect/methparse.cc:162
msgid "nonalpha where option name start wanted"
msgstr "在本该是选项名开头的地方不是字母"

#: dselect/methparse.cc:164
msgid "non-alphanum in option name"
msgstr "在选项名中发现了既不是字母也不是数字的字符"

#: dselect/methparse.cc:167
msgid "EOF in option name"
msgstr "在选项名中发现了 EOF"

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "在概述前发现了换行符"

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr "在概述前发现了 EOF"

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr "在概述中发现了 EOF - 本该是换行符的"

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr "无法打开选项说明文件“%.250s”"

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr "无法 stat 选项说明文件“%.250s”"

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr "读取选项说明文件“%.250s”失败"

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr "读取选项说明文件“%.250s”时出错"

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr "读取安装手段的选项文件“%.250s”时出错"

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "无法打开当前的选项文件“%.250s”"

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr "无法打开新的的选项文件“%.250s”"

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr "无法写入新的选项文件“%.250s”"

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr "无法关闭新的选项文件“%.250s”"

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "无法安装新的选项文件到“%.250s”"

#: dselect/pkgdisplay.cc:36
msgid "new package"
msgstr "新到软件包"

#: dselect/pkgdisplay.cc:37
msgid "install"
msgstr "安装"

#: dselect/pkgdisplay.cc:38
msgid "hold"
msgstr "保持"

#: dselect/pkgdisplay.cc:39
msgid "remove"
msgstr "删除"

#: dselect/pkgdisplay.cc:40
msgid "purge"
msgstr "清除"

#. TRANSLATORS: The space is a trick to work around gettext which uses
#. * the empty string to store information about the translation. DO NOT
#. * CHANGE THAT IN A TRANSLATION! The code really relies on that being
#. * a single space.
#: dselect/pkgdisplay.cc:47
msgid " "
msgstr " "

#: dselect/pkgdisplay.cc:48
msgid "REINSTALL"
msgstr "【重新安装】"

#: dselect/pkgdisplay.cc:51
msgid "not installed"
msgstr "没有安装"

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "删除(残存配置文件)"

#: dselect/pkgdisplay.cc:53
msgid "half installed"
msgstr "部分安装"

#: dselect/pkgdisplay.cc:54
msgid "unpacked (not set up)"
msgstr "已解压缩(尚未设置)"

#: dselect/pkgdisplay.cc:55
msgid "half configured (config failed)"
msgstr ""

#: dselect/pkgdisplay.cc:56
msgid "awaiting trigger processing"
msgstr ""

#: dselect/pkgdisplay.cc:57
msgid "triggered"
msgstr ""

#: dselect/pkgdisplay.cc:58
msgid "installed"
msgstr "已安装完毕"

#: dselect/pkgdisplay.cc:61
msgid "Required"
msgstr "需要"

#: dselect/pkgdisplay.cc:62
msgid "Important"
msgstr "重要"

#: dselect/pkgdisplay.cc:63
msgid "Standard"
msgstr "标准"

#: dselect/pkgdisplay.cc:64
msgid "Optional"
msgstr "可选"

#: dselect/pkgdisplay.cc:65
msgid "Extra"
msgstr "额外"

#: dselect/pkgdisplay.cc:66
msgid "!Bug!"
msgstr "!瑕疵!"

#: dselect/pkgdisplay.cc:67
msgid "Unclassified"
msgstr "未归类"

#: dselect/pkgdisplay.cc:70
msgid "suggests"
msgstr "建议"

#: dselect/pkgdisplay.cc:71
msgid "recommends"
msgstr "推荐"

#: dselect/pkgdisplay.cc:72
msgid "depends on"
msgstr "依赖于"

#: dselect/pkgdisplay.cc:73
msgid "pre-depends on"
msgstr "预依赖于"

#: dselect/pkgdisplay.cc:74
msgid "breaks"
msgstr ""

#: dselect/pkgdisplay.cc:75
msgid "conflicts with"
msgstr "与之冲突"

#: dselect/pkgdisplay.cc:76
msgid "provides"
msgstr "提供"

#: dselect/pkgdisplay.cc:77
msgid "replaces"
msgstr "替换"

#: dselect/pkgdisplay.cc:78
msgid "enhances"
msgstr "有助于"

#: dselect/pkgdisplay.cc:81
msgid "Req"
msgstr "需"

#: dselect/pkgdisplay.cc:82
msgid "Imp"
msgstr "要"

#: dselect/pkgdisplay.cc:83
msgid "Std"
msgstr "标"

#: dselect/pkgdisplay.cc:84
msgid "Opt"
msgstr "选"

#: dselect/pkgdisplay.cc:85
msgid "Xtr"
msgstr "余"

#: dselect/pkgdisplay.cc:86
msgid "bUG"
msgstr "瑕"

#: dselect/pkgdisplay.cc:87
msgid "?"
msgstr "?"

#: dselect/pkgdisplay.cc:95 dselect/pkgdisplay.cc:115
msgid "Broken"
msgstr "有故障"

#: dselect/pkgdisplay.cc:96
msgid "New"
msgstr "新的"

#: dselect/pkgdisplay.cc:97
msgid "Updated"
msgstr "有更新"

#: dselect/pkgdisplay.cc:98
msgid "Obsolete/local"
msgstr "淘汰/本地"

#: dselect/pkgdisplay.cc:99
msgid "Up-to-date"
msgstr "已更新"

#: dselect/pkgdisplay.cc:100
msgid "Available"
msgstr "可用"

#: dselect/pkgdisplay.cc:101 dselect/pkgdisplay.cc:117
msgid "Removed"
msgstr "已删除"

#: dselect/pkgdisplay.cc:102 dselect/pkgdisplay.cc:111
msgid "Brokenly installed packages"
msgstr "有故障的已安装软件包"

#: dselect/pkgdisplay.cc:103
msgid "Newly available packages"
msgstr "新的可用软件包"

#: dselect/pkgdisplay.cc:104
msgid "Updated packages (newer version is available)"
msgstr "软件包有更新版本(有更高的版本可用了)"

#: dselect/pkgdisplay.cc:105
msgid "Obsolete and local packages present on system"
msgstr "系统中安装这些的软件包是已淘汰的和本地的"

#: dselect/pkgdisplay.cc:106
msgid "Up to date installed packages"
msgstr "安装了的软件包版本是最新的"

#: dselect/pkgdisplay.cc:107
msgid "Available packages (not currently installed)"
msgstr "可用的软件包(目前没有被安装)"

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "被删除而且不再可用的软件包"

#: dselect/pkgdisplay.cc:112
msgid "Installed packages"
msgstr "已经安装的软件包"

#: dselect/pkgdisplay.cc:113
msgid "Removed packages (configuration still present)"
msgstr "被删除的软件包 (其配置文件仍然存在于系统中)"

#: dselect/pkgdisplay.cc:114
msgid "Purged packages and those never installed"
msgstr "被完全清除的软件包以及那些从未被安装过的软件包"

#: dselect/pkgdisplay.cc:116
msgid "Installed"
msgstr "已安装"

#: dselect/pkgdisplay.cc:118
msgid "Purged"
msgstr "已清除"

#: dselect/pkgdisplay.cc:198
msgid "dselect - recursive package listing"
msgstr "dselect - 递归地列出软件包"

#: dselect/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr "dselect - 检视软件包的状态"

#: dselect/pkgdisplay.cc:200
msgid "dselect - main package listing"
msgstr "dselect - 软件包主列表"

#: dselect/pkgdisplay.cc:208
msgid " (by section)"
msgstr " (按所属大类)"

#: dselect/pkgdisplay.cc:211
msgid " (avail., section)"
msgstr " (按是否可用和所属大类)"

#: dselect/pkgdisplay.cc:214
msgid " (status, section)"
msgstr " (按状态和所属大类)"

#: dselect/pkgdisplay.cc:223
msgid " (by priority)"
msgstr " (按优先级)"

#: dselect/pkgdisplay.cc:226
msgid " (avail., priority)"
msgstr " (按是否可用和优先级)"

#: dselect/pkgdisplay.cc:229
msgid " (status, priority)"
msgstr " (按状态和优先级)"

#: dselect/pkgdisplay.cc:238 dselect/pkgdisplay.cc:250
msgid " (alphabetically)"
msgstr " (按字母表顺序)"

#: dselect/pkgdisplay.cc:241
msgid " (by availability)"
msgstr " (按是否可用)"

#: dselect/pkgdisplay.cc:244
msgid " (by status)"
msgstr " (按状态)"

#: dselect/pkgdisplay.cc:258
msgid " mark:+/=/- terse:v help:?"
msgstr " 标记:+/=/- 简略:v 帮助:?"

#: dselect/pkgdisplay.cc:259
msgid " mark:+/=/- verbose:v help:?"
msgstr " 标记:+/=/- 详尽:v 帮助:?"

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr " 简略:v 帮助:?"

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " 详尽:v 帮助:?"

#: dselect/pkginfo.cc:80
msgid ""
"The line you have highlighted represents many packages; if you ask to "
"install, remove, hold, etc. it you will affect all the packages which match "
"the criterion shown.\n"
"\n"
"If you move the highlight to a line for a particular package you will see "
"information about that package displayed here.\n"
"You can use `o' and `O' to change the sort order and give yourself the "
"opportunity to mark packages in different kinds of groups."
msgstr ""
"您现在高亮显示的行代表着多个软件包。如果您要求安装、删除、保持等等，您将会\n"
"影响到符合所示标准的所有软件包。\n"
"\n"
"如果您移动高亮条到单个软件包所在的行上，您将会看到这里显示的是该软件包的相\n"
"关信息。\n"
"您可以摁“o”或者“O”来以不同的规则排序，这样您就能给不同类型的软件包作上\n"
"标记了。"

#: dselect/pkginfo.cc:93
#, fuzzy
msgid "Interrelationships"
msgstr "软件包的相互关系"

#: dselect/pkginfo.cc:112
#, fuzzy
msgid "No description available."
msgstr "无相关介绍。"

#: dselect/pkginfo.cc:130
#, fuzzy
msgid "Installed control file information"
msgstr "为下面软件包安装的控制信息"

#: dselect/pkginfo.cc:146
#, fuzzy
msgid "Available control file information"
msgstr "可用的控制信息的版本"

#: dselect/pkglist.cc:416
msgid "There are no packages."
msgstr ""

#: dselect/pkglist.cc:507
msgid "invalid search option given"
msgstr "指定了无效的搜索选项"

#: dselect/pkglist.cc:521
msgid "error in regular expression"
msgstr "正则表达式有误"

#: dselect/pkgsublist.cc:107
msgid " does not appear to be available\n"
msgstr " 看上去应该不可用\n"

#: dselect/pkgsublist.cc:127
msgid " or "
msgstr " 或者 "

#: dselect/pkgtop.cc:57
msgid "All"
msgstr "所有"

#: dselect/pkgtop.cc:79
msgid "All packages"
msgstr "所有软件包"

#: dselect/pkgtop.cc:83
#, c-format
msgid "%s packages without a section"
msgstr "不指定大类 %s 软件包"

#: dselect/pkgtop.cc:85
#, c-format
msgid "%s packages in section %s"
msgstr "在 %2$s 大类中 %1$s 软件包"

#: dselect/pkgtop.cc:91
#, c-format
msgid "%s %s packages"
msgstr "%s %s 软件包"

#: dselect/pkgtop.cc:95
#, c-format
msgid "%s %s packages without a section"
msgstr "不指定大类 %s %s 软件包"

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr "在 %3$s 大类中 %1$s %2$s 软件包"

#: dselect/pkgtop.cc:118
#, c-format
msgid "%-*s %s%s%s;  %s (was: %s).  %s"
msgstr "%-*s %s%s%s;  %s (曾为：%s).  %s"

#: dselect/pkgtop.cc:263
msgid "Error"
msgstr "错误"

#: dselect/pkgtop.cc:267
msgid "Installed?"
msgstr "已安装？"

#: dselect/pkgtop.cc:271
msgid "Old mark"
msgstr "原有标记"

#: dselect/pkgtop.cc:275
msgid "Marked for"
msgstr "现标记为"

#: dselect/pkgtop.cc:278
msgid "EIOM"
msgstr "EIOM"

#: dselect/pkgtop.cc:280
msgid "Section"
msgstr "所属大类"

#: dselect/pkgtop.cc:281
msgid "Priority"
msgstr "优先级"

#: dselect/pkgtop.cc:282
msgid "Package"
msgstr "软件包名"

#: dselect/pkgtop.cc:286
msgid "Inst.ver"
msgstr "安装版本"

#: dselect/pkgtop.cc:289
msgid "Avail.ver"
msgstr "可用版本"

#~ msgid "returned error exit status %d.\n"
#~ msgstr "返回了错误的退出状态码 %d。\n"

#~ msgid "was interrupted.\n"
#~ msgstr "被中断了。\n"

#~ msgid "was terminated by a signal: %s.\n"
#~ msgstr "被一个信号中断了：%s。\n"

#~ msgid "(It left a coredump.)\n"
#~ msgstr "(它 coredump 了。)\n"

#~ msgid "failed with an unknown wait return code %d.\n"
#~ msgstr "因为得到了一个不能识别的返回码 %d 而使操作失败。\n"

#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "无法运行 %.250s 进程“%.250s”"

#~ msgid "failed config"
#~ msgstr "设置失败"

#~ msgid "unable to wait for %.250s"
#~ msgstr "无法等待子进程“%.250s”"

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr "获得了其它子进程的状态 - 本想要 %ld 的，结果拿到了 %ld 的"

#~ msgid "Recommended"
#~ msgstr "建议"

#~ msgid "Contrib"
#~ msgstr "贡献"

#~ msgid "Rec"
#~ msgstr "荐"

#~ msgid "Ctb"
#~ msgstr "献"

#~ msgid ""
#~ "baselist::startdisplay() done ...\n"
#~ "\n"
#~ " xmax=%d, ymax=%d;\n"
#~ "\n"
#~ " title_height=%d, colheads_height=%d, list_height=%d;\n"
#~ " thisstate_height=%d, info_height=%d, whatinfo_height=%d;\n"
#~ "\n"
#~ " colheads_row=%d, thisstate_row=%d, info_row=%d;\n"
#~ " whatinfo_row=%d, list_row=%d;\n"
#~ "\n"
#~ msgstr ""
#~ "baselist::startdisplay() done ...\n"
#~ "\n"
#~ " xmax=%d, ymax=%d;\n"
#~ "\n"
#~ " title_height=%d, colheads_height=%d, list_height=%d;\n"
#~ " thisstate_height=%d, info_height=%d, whatinfo_height=%d;\n"
#~ "\n"
#~ " colheads_row=%d, thisstate_row=%d, info_row=%d;\n"
#~ " whatinfo_row=%d, list_row=%d;\n"
#~ "\n"

#~ msgid "[none]"
#~ msgstr "[无]"

#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "发生错误，有无法捕获的信号 %d：%s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "无法在运行 %2$.250s 之前忽略信号 %1$d"

#~ msgid "(no clientdata)"
#~ msgstr "(无客户端数据)"

#~ msgid "<null>"
#~ msgstr "<无>"

#~ msgid "interrelationships affecting "
#~ msgstr "软件包的相互关系问题牵连到了"

#~ msgid "description of "
#~ msgstr "下面软件包的介绍"

#~ msgid "description"
#~ msgstr "介绍"

#~ msgid "currently installed control info"
#~ msgstr "当前安装的控制信息"

#~ msgid "available version of control info for "
#~ msgstr "下面软件包的可用控制信息的版本"
