# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Software in the Public Interest, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: dpkg 1.16.1.1\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
"POT-Creation-Date: 2011-10-14 07:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\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 ""

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr ""

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

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr ""

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr ""

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr ""

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr ""

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr ""

#: dselect/baselist.cc:84
msgid "failed to block SIGWINCH"
msgstr ""

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr ""

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

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

#: 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
msgid "Keybindings"
msgstr ""

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

#: dselect/baselist.cc:306
#, c-format
msgid "%s for more"
msgstr ""

#: dselect/baselist.cc:310
#, c-format
msgid "%s to go back"
msgstr ""

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

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

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

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

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr ""

#: dselect/helpmsgs.cc:125
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 ""

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr ""

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

#: 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/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr ""

#: dselect/helpmsgs.cc:196
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 ""

#: dselect/main.cc:60
msgid "Type dselect --help for help."
msgstr ""

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

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

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr ""

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

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

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr ""

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

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

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr ""

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

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

#: dselect/main.cc:146
msgid "Install and upgrade wanted packages."
msgstr ""

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

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

#: dselect/main.cc:147
msgid "Configure any packages that are unconfigured."
msgstr ""

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

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

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr ""

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

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

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

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

#: dselect/main.cc:155
#, c-format
msgid "Debian `%s' package handling frontend version %s.\n"
msgstr ""

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

#: dselect/main.cc:162
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 ""

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

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

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

#: dselect/main.cc:233
#, c-format
msgid "couldn't open debug file `%.255s'\n"
msgstr ""

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

#: dselect/main.cc:270
msgid "screen part"
msgstr ""

#: dselect/main.cc:276
msgid "Null colour specification\n"
msgstr ""

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

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr ""

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

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

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr ""

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr ""

#: dselect/methlist.cc:77
msgid "dselect - list of access methods"
msgstr ""

#: dselect/methlist.cc:86
#, c-format
msgid "Access method `%s'."
msgstr ""

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

#: dselect/methlist.cc:166 dselect/pkglist.cc:575
msgid "failed to unblock SIGWINCH"
msgstr ""

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr ""

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

#: dselect/methlist.cc:188
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 ""

#: dselect/method.cc:70
msgid ""
"\n"
"Press <enter> to continue."
msgstr ""

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr ""

#: dselect/method.cc:162
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 ""

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr ""

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr ""

#: dselect/methparse.cc:106
#, c-format
msgid "method `%.250s' has name that is too long (%d > %d characters)"
msgstr ""

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr ""

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr ""

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr ""

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr ""

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

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

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr ""

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr ""

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr ""

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr ""

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr ""

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr ""

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr ""

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr ""

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr ""

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr ""

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr ""

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr ""

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr ""

#: 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/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr ""

#: dselect/pkgdisplay.cc:200
msgid "dselect - main package listing"
msgstr ""

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

#: dselect/pkgdisplay.cc:259
msgid " mark:+/=/- verbose:v help:?"
msgstr ""

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr ""

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr ""

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

#: dselect/pkginfo.cc:93
msgid "Interrelationships"
msgstr ""

#: dselect/pkginfo.cc:112
msgid "No description available."
msgstr ""

#: dselect/pkginfo.cc:130
msgid "Installed control file information"
msgstr ""

#: dselect/pkginfo.cc:146
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 ""

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

#: dselect/pkgtop.cc:85
#, c-format
msgid "%s packages in section %s"
msgstr ""

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

#: dselect/pkgtop.cc:95
#, c-format
msgid "%s %s packages without a section"
msgstr ""

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr ""

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

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

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