# Traditional Chinese translation to dpkg.
# Copyright (C) 2004 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
#
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-02-17 08:58+0200\n"
"Last-Translator: Asho Yeh <asho@debian.org.tw>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Chinese\n"
"X-Poedit-Country: TAIWAN\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 "按 ? 可以彈出幫助選單，用 <space> 能進入下個主題並離開幫助畫面。"

#: 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 ""
"請按上面列表中的按鍵，<space> 或“q”可退出幫助界面，\n"
"或者用“.”(full stop)來依次閱讀幫助頁面。"

#: 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"
"  enter    確認並退出(復查相依問題)            i, I      切換或滾動相關訊息的"
"顯示\n"
"   Q     確認並退出(忽略相依問題)             o, O      滾動排序的各個選項\n"
" X, Esc  退出程序，把之前的改動作廢           v, V      修改狀態顯示的選項\n"
"   R     把所有套件的狀態恢復到修改前       ^l        重畫螢幕\n"
"   U     把所有套件的狀態改成建議值         /         搜尋 (用enter取消搜"
"索)\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"
"一旦您選完套件，請按 <enter> 鍵來確認剛才的修改，\n"
"或者用`X'退出同時不儲存任何改變。最後作一次衝突和\n"
"相依性的檢查 - 您在這裡可能還會看一次相關軟體列表。\n"
"\n"
"現在您可以按 <enter> 鍵離開幫助界面，進入列表界面了。\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"
"一旦您看完，請按“Q”或者 <enter> 鍵來退出軟體。\n"
"\n"
"現在您可以通過按 <enter> 鍵離開幫助界面，進入列表界面了。\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"
"只需按一下enter來接受軟體的建議。\n"
"您還可以按大寫的“X”來取消導致問題的更動，並回到主列表界面。\n"
"\n"
"您也可以按照自己的需求修改列表中套件的狀態。\n"
"同時，您也可以按大寫的“D”或“R”\n"
"鍵(參考快速鍵的幫助界面)，來“拒絕”我提出的建議。\n"
"當您希望忽略我的建議或是認為本軟體出錯時，\n"
"您還可以按大寫的“Q”來強制接受當前顯示的設定。\n"
"\n"
"請按<enter>離開幫助界面，進入子列表。\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"
"請移動高亮光棒到您希望使用的安裝方式，再按enter。然後軟體會提示您輸入\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"
" enter             選中該安裝方式，並進入其設定界面\n"
" x，X             退出，而且不對安裝方式作任何更改或設定\n"
"\n"
"其它：\n"
"  ?, Help, F1      請求幫助\n"
" ^l                重畫螢幕\n"
"  /                進行搜尋(按enter取消搜尋)\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
#, fuzzy, c-format
msgid "Debian `%s' package handling frontend version %s.\n"
msgstr "Debian “%s” 套件操作前端程式"

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

#: 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 Public License \n"
"第二或更新的版本。該軟體【不】提供任何擔保。\n"
"請通過執行 dpkg-deb --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 ""

#: 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 ""

#: dselect/main.cc:196
#, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""

#: dselect/main.cc:201
#, c-format
msgid ""
"Actions:\n"
"  access update select install config remove quit\n"
"\n"
msgstr ""

#: 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
#, fuzzy, 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"
"或者改用針對單一套件的套裝管理工具，即 "

#: 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"
"按 <enter> 來確認。  用 ^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"
"按 <enter> 繼續。"

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr "請按 <enter> 繼續。\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 "更新套件列表的script"

#: dselect/method.cc:200
msgid "installation script"
msgstr "安裝script套件"

#: dselect/method.cc:246
msgid "query/setup script"
msgstr "查詢/設定 script "

#: 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 "無法取得 method script“%.250s”"

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "無法讀取 method script“%.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 "下面套件的可用控制訊息的版本"
